diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java
index daabbcc..b4f972b 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher2/DragController.java
@@ -163,6 +163,11 @@
 
         Bitmap b = getViewBitmap(v);
 
+        if (b == null) {
+            // out of memory?
+            return;
+        }
+
         int[] loc = mCoordinatesTemp;
         v.getLocationOnScreen(loc);
         int screenX = loc[0];
@@ -249,6 +254,10 @@
         }
         v.buildDrawingCache();
         Bitmap cacheBitmap = v.getDrawingCache();
+        if (cacheBitmap == null) {
+            Log.e(TAG, "failed getViewBitmap(" + v + ")", new RuntimeException());
+            return null;
+        }
 
         Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);
 
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 132f0e9..52f1224 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -204,7 +204,6 @@
     private ImageView mNextView;
 
     // Hotseats (quick-launch icons next to AllApps)
-    // TODO: move these intial intents out to Uris in an XML resource
     private static final int NUM_HOTSEATS = 2;
     private String[] mHotseatConfig = null;
     private Intent[] mHotseats = null;
@@ -782,6 +781,8 @@
 
     @SuppressWarnings({"UnusedDeclaration"})
     public void launchHotSeat(View v) {
+        if (isAllAppsVisible()) return;
+
         int index = -1;
         if (v.getId() == R.id.hotseat_left) {
             index = 0;
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index f65d956..c337c30 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -36,6 +36,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.MotionEvent;
 import android.view.VelocityTracker;
 import android.view.View;
@@ -363,7 +364,9 @@
      */
     void addInScreen(View child, int screen, int x, int y, int spanX, int spanY, boolean insert) {
         if (screen < 0 || screen >= getChildCount()) {
-            throw new IllegalStateException("The screen must be >= 0 and < " + getChildCount());
+            Log.e(TAG, "The screen must be >= 0 and < " + getChildCount()
+                + " (was " + screen + "); skipping child");
+            return;
         }
 
         clearVacantCache();
