

diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
--- a/scribus/scribusdoc.cpp
+++ b/scribus/scribusdoc.cpp
@@ -14253,18 +14253,29 @@
 //	#8541, #8761: "when resizing with ALT-arrow, the size values in the PP aren't updated"
 //	currItem->setWidthHeight(newX, newY, true);
 	currItem->setWidthHeight(newX, newY);
+	/*#3612
+	 *Rotation modes and basepoints:
+	 *rotMode == 0 is top left
+	 *rotMode == 1 is top right
+	 *rotMode == 2 is center
+	 *rotMode == 3 is bottom left
+	 *rotMode == 4 is bottom right
+	 */
 	if ((m_rotMode != 0) && (fromMP) && (!isLoading()) && (appMode == modeNormal))
 	{
-		double moveX=dX, moveY=dY;
-		if (m_rotMode==2)
+		double moveX = dX, moveY = dY;
+		//Basepoint is center
+		if (m_rotMode == 2)
 		{
-			moveX/=2.0;
-			moveY/=2.0;
+			moveX /= 2.0;
+			moveY /= 2.0;
 		}
-		else if (m_rotMode==3)
-			moveX=0.0;
-		else if (m_rotMode==1)
-			moveY=0.0;
+		//Basepoint is bottom left
+		else if (m_rotMode == 3)
+			moveX = 0.0;
+		//Basepoint is top right
+		else if (m_rotMode == 1)
+			moveY = 0.0;
 		moveItem(moveX, moveY, currItem);
 	}
 	if ((currItem->asImageFrame()) && (!currItem->Sizing) && (appMode != modeEditClip))
