diff --git a/src/p_saveg.cpp b/src/p_saveg.cpp index 9d0189f41..49d479b5a 100644 --- a/src/p_saveg.cpp +++ b/src/p_saveg.cpp @@ -525,9 +525,12 @@ FSerializer &Serialize(FSerializer &arc, const char *key, FPolyObj &poly, FPolyO if (arc.isReading()) { - poly.RotatePolyobj(angle, true); - delta -= poly.StartSpot.pos; - poly.MovePolyobj(delta, true); + if (poly.OriginalPts.Size() > 0) + { + poly.RotatePolyobj(angle, true); + delta -= poly.StartSpot.pos; + poly.MovePolyobj(delta, true); + } } } return arc; diff --git a/src/playsim/po_man.cpp b/src/playsim/po_man.cpp index 8d100bb71..f19cf102c 100644 --- a/src/playsim/po_man.cpp +++ b/src/playsim/po_man.cpp @@ -945,7 +945,7 @@ bool FPolyObj::RotatePolyobj (DAngle angle, bool fromsave) UnLinkPolyobj(); - for(unsigned i=0;i < Vertices.Size(); i++) + for(unsigned i=0;i < OriginalPts.Size(); i++) { PrevPts[i].pos = Vertices[i]->fPos(); FPolyVertex torot = OriginalPts[i];