It happened at the intersection of 13 Mile and Hoover roads when a 2008 Dodge Ram truck hit officer Ken Hubert. He is expected to recover.
The driver of the truck is a 53-year-old Sterling heights resident. Witnesses told police Hubert, 29, was thrown in the air and landed on the roadway.
"I will never forget it, that scene will be with me forever," said Joel Klein, a witness. "I've never seen anyone get hit and go flying like that."
Hubert suffered leg injuries, cuts to the back of the head and a fracture to his face.
The traffic lights were malfunctioning due to Tuesday morning's storms, leading Hubert to directing traffic at the intersection.
Drivers say that Hubert was sent airborne.
"He flew about 5 to 10 feet," Klein said. "Flipped and it was just, wow."
Police say Hubert was awake and talking when he was taken to the hospital. The extent of his injuries is not known at this time, but police say he is expected to be okay.
The driver remained at the scene and is cooperating with the investigation. Alcohol does not appear to be a factor, according to investigators.
He told police that he through Hubert was waving him to go. He has not been charged yet.
"He appears to have gone through the intersection not paying attention to what was happening," said St. Matt Nichols. "He struck the officer as he was standing in the intersection."
Warren police is gathering camera video from around the incident scene.
Nichols said that witnesses rendered aid to the four-year veteran before help arrived.