@@ -1018,7 +1018,7 @@ final void layoutChildren(boolean queryAdapter) {
         final int childCount = getChildCount();
         int amountRemoved = 0;
 
-        for (int i = 0; i < childCount; i++) {
+        for (int i = 0; i < childCount-amountRemoved; i++) {
             View child = getChildAt(i);
             LayoutParams lp = (LayoutParams) child.getLayoutParams();
             final int col = lp.column;
@@ -1033,6 +1033,7 @@ final void layoutChildren(boolean queryAdapter) {
                 	removeViewAt(i);
                 	if(i-1>=0) invalidateLayoutRecordsAfterPosition(i-1);
                 	amountRemoved++;
+                	i--;
                 	continue;
                 }else if (newView != child) {
                     removeViewAt(i);