diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index fd18338..611d360 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1439,7 +1439,10 @@
         float offsetFromCenter = (wallpaperTravelHeight / (float) mWallpaperHeight) / 2f;
         boolean isLandscape = display.getWidth() > display.getHeight();
 
-        final boolean enableWallpaperEffects = isHardwareAccelerated();
+        // on phones, don't scroll the wallpaper horizontally or vertically when switching
+        // to/from all apps
+        final boolean enableWallpaperEffects =
+            isHardwareAccelerated() && LauncherApplication.isScreenLarge();
         if (enableWallpaperEffects) {
             switch (shrinkState) {
                 // animating in
@@ -1752,7 +1755,10 @@
             }
             Display display = mLauncher.getWindowManager().getDefaultDisplay();
             boolean isLandscape = display.getWidth() > display.getHeight();
-            final boolean enableWallpaperEffects = isHardwareAccelerated();
+            // on phones, don't scroll the wallpaper horizontally or vertically when switching
+            // to/from all apps
+            final boolean enableWallpaperEffects =
+                isHardwareAccelerated() && LauncherApplication.isScreenLarge();
             if (enableWallpaperEffects) {
                 switch (mShrinkState) {
                     // animating out
