A dozen emergency services staff worked to free a 29-year-old man after he was pinned by the locomotives on September 20.
The rail operator was later taken to Dunedin Hospital with serious leg injuries.
A Department of Labour report - released to the Otago Daily Times under the Official Information Act - confirms the accident was the result of user error.
The report notes the victim, who has worked for KiwiRail for more than five years, would be off work for at least three months, after suffering a broken femur to his left leg.
KiwiRail declined an interview request with the injured man.
Shortly before the incident the man and a locomotive engineer with more than 20 years' experience, began to take two locomotives joined together out of the KiwiRail yard in order to pick up other rail wagons at Mosgiel.
The joined locomotives were parked on a line while another locomotive cleared a rail line of wagons so the locomotives could travel to Mosgiel.
After their smoko break the younger rail operator climbed on to the lefthand side of the riding platform of the front locomotive, while the more experienced locomotive engineer climbed into the cab of the rear locomotive, which faced south.
The older man assumed his younger counterpart was sitting in the cab of the front locomotive, and said he was "ready to go" over the radio, before announcing "Away we go" at 5pm.
It was also assumed the line was free to travel to Mosgiel.
The joined locomotives travelled north for 30 seconds before the younger man yelled "Stop. Stop", over the radio.
Brakes were applied, but the front locomotive collided with a container another locomotive was pushing along the line, and the rail operator was trapped between the container and the front locomotive.
The ODT reported emergency staff worked for more than 30 minutes to free the audibly upset man, while work at the yard was suspended and an inquiry launched.
A KiwiRail spokeswoman said it was normal practice for a person to work at the front of a moving wagon.
The Department of Labour report noted the manoeuver the men were involved in at the time of the incident was identified as a hazard by KiwiRail, and the incident would not have occurred if procedures were followed.
When shunting and piloting, initial instructions must advise where the movement will move to and where it will end.
Information must be repeated by the receiver before the movement begins. The pilot and shunter are also expected to maintain radio contact every 10 seconds, with the movement to be stopped if communication is broken.
The black box from the locomotives revealed there was no communication until shortly before the collision, nor did the men identify their position prior to the manoeuvre.
Both men were issued with written warnings as a result of the incident.
The pair would be reassessed on their shunting procedures, the report note.
No action was taken against KiwiRail Ltd. The total cost of repairs for KiwiRail as a result of the incident was $37,000.