diff --git a/res/raw/rollo.c b/res/raw/rollo.c
index e9c31b1..dc1199e 100644
--- a/res/raw/rollo.c
+++ b/res/raw/rollo.c
@@ -98,6 +98,7 @@
 
         float iconTop = (farIconSize + iconGutterHeight) * (2.0f + ICON_TOP_OFFSET)
                 - row * (farIconSize + iconGutterHeight);
+        iconTop -= 6 * scale; // make the zoom point below center
         float iconBottom = iconTop - farIconSize;
 
         float labelTop = iconBottom - (.1 * farLabelHeight);
@@ -113,7 +114,7 @@
 
             float centerX = sine * RADIUS;
             float centerZ = cosine * RADIUS;
-            centerZ -= (7*scale);
+            centerZ -= ((RADIUS+2+1)*scale); // 2 is camera loc, 1 put it slightly behind that.
 
             float iconLeftX = centerX  - (cosine * farIconTextureSize * .5);
             float iconRightX = centerX + (cosine * farIconTextureSize * .5);
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 86914b0..ec3622c 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -393,8 +393,6 @@
     protected void onResume() {
         super.onResume();
 
-        Log.d(TAG, "onResume mRestoring=" + mRestoring);
-
         if (mRestoring) {
             mWorkspaceLoading = true;
             mModel.startLoader(this, true);
@@ -1619,7 +1617,6 @@
 
     void closeAllAppsDialog(boolean animated) {
         if (mAllAppsVisible) {
-            Log.d(LOG_TAG, "closing all apps");
             mAllAppsGrid.hide();
             mAllAppsVisible = false;
             mWorkspace.getChildAt(mWorkspace.getCurrentScreen()).requestFocus();
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 14b77f0..c6def18 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -495,10 +495,12 @@
             if (scale < 0.999f) {
                 int w = getWidth();
                 w += 2 * mCurrentScreen * w;
+                int dx = w/2;
                 int h = getHeight();
-                canvas.translate(w/2, h/2);
+                int dy = (h/2) - (h/4);
+                canvas.translate(dx, dy);
                 canvas.scale(scale, scale);
-                canvas.translate(-w/2, -h/2);
+                canvas.translate(-dx, -dy);
             }
         }
 
