         if hasOldDb() {
             debugPrint("Found old database...")
             
+            migrateDomainData { (success) in
+                debugPrint("Migrate domains... \(success ? "Done" : "Failed")")
+                self.completedCalls[ProcessOrder.Domains] = success
+            }
+            migrateFavicons { (success) in
+                debugPrint("Migrate favicons... \(success ? "Done" : "Failed")")
+                self.completedCalls[ProcessOrder.Favicons] = success
+            }
+            migrateHistory { (success) in
+                debugPrint("Migrate history... \(success ? "Done" : "Failed")")
+                self.completedCalls[ProcessOrder.History] = success
+            }
             migrateBookmarks { (success) in
                 debugPrint("Migrate bookmarks... \(success ? "Done" : "Failed")")
                 self.completedCalls[ProcessOrder.Bookmarks] = success
-            }
-            migrateDomainData { (success) in
-                debugPrint("Migrate domains... \(success ? "Done" : "Failed")")
-                self.completedCalls[ProcessOrder.Domains] = success
-            }
-            migrateFavicons { (success) in
-                debugPrint("Migrate favicons... \(success ? "Done" : "Failed")")
-                self.completedCalls[ProcessOrder.Favicons] = success
-            }
-            migrateHistory { (success) in
-                debugPrint("Migrate history... \(success ? "Done" : "Failed")")
-                self.completedCalls[ProcessOrder.History] = success
             }
             migrateTabs { (success) in
                 debugPrint("Migrate tabs... \(success ? "Done" : "Failed")")

        return true
    }
    
    internal var faviconHash: [Int32: NSManagedObjectID] = [:]
    
    private func migrateBookmarks(completed: (success: Bool) -> Void) {
        let query: String = "SELECT guid, type, parentid, title, description, bmkUrl, faviconID FROM bookmarksLocal WHERE is_deleted = 0"

            debugPrint("Cannot clear profile data: \(error)")
            completed(success: false)
        }
    }
    
    private func checkCompleted() {
