--- Scribus-orig/scribus/canvasmode_create.cpp	2010-05-20 09:50:33.000000000 -0400
+++ Scribus/scribus/canvasmode_create.cpp	2010-06-08 12:10:21.000000000 -0400
@@ -260,6 +260,8 @@
 						newRot += 360;
 					newRot = constrainAngle(newRot, m_doc->opToolPrefs().constrain);
 					double len = qMax(0.01, distance(bounds.width(), bounds.height()));
+					if (len < qAbs(bounds.width())*1.01) len=qAbs(bounds.width());
+					if (len < qAbs(bounds.height())*1.01) len=qAbs(bounds.height());
 					bounds.setSize(len * QSizeF(cosd(newRot), sind(newRot)));
 					newX = bounds.right();
 					newY = bounds.bottom();
