 
     override func viewWillAppear(animated: Bool) {
         super.viewWillAppear(animated)
-        if !(refreshControl?.refreshing ?? false) {
-            refresh()
-        }
+        refreshControl?.addTarget(self, action: "SELrefreshTabs", forControlEvents: UIControlEvents.ValueChanged)
+        refreshTabs()
+    }
+
+    override func viewDidDisappear(animated: Bool) {
+        super.viewDidDisappear(animated)
+        refreshControl?.removeTarget(self, action: "SELrefreshTabs", forControlEvents: UIControlEvents.ValueChanged)
     }
 
     func notificationReceived(notification: NSNotification) {
         switch notification.name {
         case NotificationFirefoxAccountChanged, NotificationPrivateDataCleared:
-            refresh()
+            refreshTabs()
             break
         default:
             // no need to do anything at all

        }
    }

    @objc private func SELrefresh() {
        self.refreshControl?.beginRefreshing()
        refresh()
    }

}

        tableView.dataSource = nil

        refreshControl = UIRefreshControl()
        view.backgroundColor = UIConstants.PanelBackgroundColor
    }

