diff --git a/src/com/android/launcher3/FolderCellLayout.java b/src/com/android/launcher3/FolderCellLayout.java
index 21f2a11..e6e9199 100644
--- a/src/com/android/launcher3/FolderCellLayout.java
+++ b/src/com/android/launcher3/FolderCellLayout.java
@@ -135,7 +135,7 @@
         CellLayout.LayoutParams lp = (CellLayout.LayoutParams) view.getLayoutParams();
         lp.cellX = item.cellX;
         lp.cellY = item.cellY;
-        addViewToCellLayout(view, -1, (int) item.id, lp, true);
+        addViewToCellLayout(view, -1, mFolder.mLauncher.getViewIdForItem(item), lp, true);
     }
 
     /**
@@ -159,7 +159,7 @@
 
         CellLayout.LayoutParams lp = new CellLayout.LayoutParams(
                 item.cellX, item.cellY, item.spanX, item.spanY);
-        addViewToCellLayout(textView, -1, (int)item.id, lp, true);
+        addViewToCellLayout(textView, -1, mFolder.mLauncher.getViewIdForItem(item), lp, true);
         return textView;
     }
 
@@ -211,7 +211,7 @@
             lp.cellX = info.cellX;
             lp.cellY = info.cellY;
             rank ++;
-            addViewToCellLayout(v, -1, (int)info.id, lp, true);
+            addViewToCellLayout(v, -1, mFolder.mLauncher.getViewIdForItem(info), lp, true);
         }
     }
 
@@ -244,8 +244,8 @@
 
     @Override
     public View getLastItem() {
-        int total = getShortcutsAndWidgets().getChildCount();
-        return getShortcutsAndWidgets().getChildAt(total % getCountX(), total / getCountX());
+        int lastRank = getShortcutsAndWidgets().getChildCount() - 1;
+        return getShortcutsAndWidgets().getChildAt(lastRank % getCountX(), lastRank / getCountX());
     }
 
     @Override
