diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index 89d11d1..8d6820c 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -158,10 +158,6 @@
     @Override
     public void surfaceDestroyed(SurfaceHolder holder) {
         super.surfaceDestroyed(holder);
-
-        destroyRenderScript();
-        mRS = null;
-        mRollo = null;
     }
 
     @Override
@@ -171,18 +167,15 @@
 
         super.surfaceChanged(holder, format, w, h);
 
-        if (mRS != null) {
-            destroyRenderScript();
-            mRS = null;
-            mRollo = null;
-        }
+        if (mRS == null) {
 
-        mRS = createRenderScript(true);
-        mRollo = new RolloRS();
-        mRollo.init(getResources(), w, h);
-        if (mAllAppsList != null) {
-            mRollo.setApps(mAllAppsList);
-            Log.d(TAG, "surfaceChanged... calling mRollo.setApps");
+            mRS = createRenderScript(true);
+            mRollo = new RolloRS();
+            mRollo.init(getResources(), w, h);
+            if (mAllAppsList != null) {
+                mRollo.setApps(mAllAppsList);
+                Log.d(TAG, "surfaceChanged... calling mRollo.setApps");
+            }
         }
 
         Resources res = getContext().getResources();
diff --git a/src/com/android/launcher2/DragView.java b/src/com/android/launcher2/DragView.java
index 7128ded..7a86273 100644
--- a/src/com/android/launcher2/DragView.java
+++ b/src/com/android/launcher2/DragView.java
@@ -84,9 +84,7 @@
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int widthSize = resolveSize(mBitmap.getWidth(), widthMeasureSpec);
-        int heightSize = resolveSize(mBitmap.getHeight(), heightMeasureSpec);
-        setMeasuredDimension(widthSize, heightSize);
+        setMeasuredDimension(mBitmap.getWidth(), mBitmap.getHeight());
     }
 
     @Override
