=== modified file 'modules/Ubuntu/Components/Tabs.qml'
--- modules/Ubuntu/Components/Tabs.qml	2014-04-10 11:25:17 +0000
+++ modules/Ubuntu/Components/Tabs.qml	2014-04-15 14:53:59 +0000
@@ -473,8 +473,6 @@
                 var tab = tabsList[i];
                 if (internal.isTab(tab)) {
                     tabIndex = i - offset;
-                    // make sure we have the right parent
-                    tab.parent = tabs;
 
                     if (!tab.__protected.inserted) {
                         tab.__protected.index = tabIndex;
@@ -511,7 +509,17 @@
 
             for (var i = start; i < count; i++) {
                 var tab = get(i).tab;
-                tab.__protected.index = i;
+                // FIXME: introduce an idle timer to get the model updated properly. This small delay
+                // is needed for arm64 unit tests, as the move() seems to update the model asynchronously.
+                // fixes bug #1308086
+                if (!tab) wait(0);
+                tab = get(i).tab;
+
+                if (tab) {
+                    tab.__protected.index = i;
+                } else {
+                    console.error("Invalid Tab at index", i, get(i).title)
+                }
             }
         }
 

=== modified file 'tests/unit_x11/tst_components/tst_tabs.qml'
--- tests/unit_x11/tst_components/tst_tabs.qml	2014-02-25 11:01:06 +0000
+++ tests/unit_x11/tst_components/tst_tabs.qml	2014-04-15 14:53:59 +0000
@@ -90,7 +90,7 @@
                 title: "load"
                 page: Loader {
                     id: loader
-                    sourceComponent: tabs.selectedTabIndex != 5 ? null : pageComponent
+                    sourceComponent: tabs.selectedTabIndex != tabFlickLoader.index ? null : pageComponent
                 }
             }
             Tab {
@@ -103,8 +103,8 @@
                         right: parent.right
                         bottom: parent.bottom
                     }
-                    // height compes from the loaded Page
-                    sourceComponent: tabs.selectedTabIndex === 6 ? pageComponentNoFlick : null
+                    // height comes from the loaded Page
+                    sourceComponent: tabs.selectedTabIndex === tabNoFlickLoader.index ? pageComponentNoFlick : null
                 }
             }
         }
@@ -219,6 +219,11 @@
         name: "TabsAPI"
         when: windowShown
 
+        function init() {
+            // introduce a small delay in front of each test
+            wait(200);
+        }
+
         /*
           The following testcases are all related to bug #1253804
           */

