The 41-year-old victim was taken to hospital in Prince George, about 100 kilometres away, with multiple fractures.
"The worker was struck when a westbound grey Chevrolet pick-up truck entered the construction zone and failed to follow the flagger's signals, essentially he failed to switch back over into the west-bound lane," said RCMP Cpl. Dan Moskaluk.
Police say a 76-year-old Vanderhoof man was behind the wheel of the truck. Police haven't said if charges will be laid.
While speed was not a factor in this case, RCMP are reminding motorists to be vigilant in construction zones and obey signs from flaggers.
They are asking for help from witnesses who may have seen the driving patterns of the pick-up truck driver.