         }
     }
 
-    private func updateContactsTableView() {
-        dispatch_async(dispatch_get_main_queue()) {
-            self.contactsTableView.reloadData()
+    private func updateContactsTableView(scrollsToTop scrollsToTop: Bool = false) {
+        dispatch_async(dispatch_get_main_queue()) { [weak self] in
+            self?.contactsTableView.reloadData()
+
+            if scrollsToTop {
+                let y = -(self?.contactsTableView.contentInset.top ?? 0)
+                self?.contactsTableView.setContentOffset(CGPoint(x: 0, y: y), animated: true)
+            }
         }
     }
 


            // ref http://stackoverflow.com/questions/30937275/uisearchcontroller-doesnt-hide-view-when-pushed
            //self.definesPresentationContext = true
        }

        contactsTableView.separatorColor = UIColor.yepCellSeparatorColor()

        }
        
        let predicate = NSPredicate(format: "nickname CONTAINS[c] %@ OR username CONTAINS[c] %@", searchText, searchText)
        let filteredFriends = friends.filter(predicate)
        self.filteredFriends = filteredFriends

        updateContactsTableView(scrollsToTop: !filteredFriends.isEmpty)

        searchUsersByQ(searchText, failureHandler: nil, completion: { [weak self] users in

