 	}
 
     @objc private func cancelActions(sender: UITapGestureRecognizer) {
-        
-        self.removeDeletedTopSites()
-        
-        // fire `didSelectRowAtIndexPath` when user click on a cell in news table
-        let p = sender.locationInView(self.newsTableView)
-        if let selectedIndex = self.newsTableView.indexPathForRowAtPoint(p) {
-            self.tableView(self.newsTableView, didSelectRowAtIndexPath: selectedIndex)
-        }
-        
+		if !isForgetMode {
+			self.removeDeletedTopSites()
+			
+			// fire `didSelectRowAtIndexPath` when user click on a cell in news table
+			let p = sender.locationInView(self.newsTableView)
+			if let selectedIndex = self.newsTableView.indexPathForRowAtPoint(p) {
+				self.tableView(self.newsTableView, didSelectRowAtIndexPath: selectedIndex)
+			}
+		}
+		
 	}
     
     private func removeDeletedTopSites(){
         
-        let cells = self.topSitesCollection?.visibleCells()
-        for cell in cells as! [TopSiteViewCell] {
-            cell.isDeleteMode = false
-        }
-        
-        self.topSitesIndexesToRemove.sortInPlace{a,b in a > b} //order in descending order to avoid index mismatches
-        for index in self.topSitesIndexesToRemove {
-            self.topSites.removeAtIndex(index)
-        }
-        
-        self.topSitesIndexesToRemove.removeAll()
-        self.topSitesCollection?.reloadData()
+		if let cells = self.topSitesCollection?.visibleCells() as? [TopSiteViewCell] {
+			for cell in cells {
+				cell.isDeleteMode = false
+			}
+			
+			self.topSitesIndexesToRemove.sortInPlace{a,b in a > b} //order in descending order to avoid index mismatches
+			for index in self.topSitesIndexesToRemove {
+				self.topSites.removeAtIndex(index)
+			}
+			
+			self.topSitesIndexesToRemove.removeAll()
+			self.topSitesCollection?.reloadData()
+		}
     }
 
 	private func constructForgetModeView() {

	}
	
	func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        print("[FreshTab] cellForItemAtIndexPath -> row: \(indexPath.row)")
		let cell = collectionView.dequeueReusableCellWithReuseIdentifier("TopSite", forIndexPath: indexPath) as! TopSiteViewCell
		cell.tag = -1
		cell.delegate = self

	}

	private func loadTopSitesWithLimit(limit: Int) -> Success {
		return self.profile.history.getTopSitesWithLimit(limit).bindQueue(dispatch_get_main_queue()) { result in
			//var results = [[String: String]]()
			if let r = result.successValue {
