diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 69a8686..bc3285d 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1124,6 +1124,8 @@
         Sequencer s = new Sequencer();
         for (int i = 0; i < screenCount; i++) {
             CellLayout cl = (CellLayout) getChildAt(i);
+            cl.setPivotX(0.0f);
+            cl.setPivotY(0.0f);
             if (animated) {
                 final int duration = res.getInteger(R.integer.config_workspaceShrinkTime);
                 s.playTogether(
@@ -1187,6 +1189,8 @@
             final int duration = getResources().getInteger(R.integer.config_workspaceUnshrinkTime);
             for (int i = 0; i < screenCount; i++) {
                 final CellLayout cl = (CellLayout)getChildAt(i);
+                cl.setPivotX(0.0f);
+                cl.setPivotY(0.0f);
                 if (animated) {
                     s.playTogether(
                             new PropertyAnimator(duration, cl, "translationX", 0.0f),
