 extension SearchViewController: UISearchControllerDelegate, UISearchBarDelegate, UISearchResultsUpdating {
     
     func updateSearchResults(for searchController: UISearchController) {
-        guard searchController.isActive else { return }
+        guard searchController.isActive else {
+            // Enable peek and pop on search results
+            if let context = previewingContext {
+                searchController.unregisterForPreviewing(withContext: context)
+                previewingContext = registerForPreviewing(with: self, sourceView: tableView)
+            }
+            
+            return
+        }
+        
         filterString = searchController.searchBar.text
+        
+        // Enable peek and pop on default results
+        if let context = previewingContext {
+            unregisterForPreviewing(withContext: context)
+            previewingContext = searchController.registerForPreviewing(with: self, sourceView: tableView)
+        }
     }
 
     // MARK: UISearchBarDelegate

        didSet {
            var predicates: [String] = []
            
            if !(filterString ?? "").isEmpty {
                // By title
                if scopeSegmentedControl.selectedSegmentIndex == 0
                    || scopeSegmentedControl.selectedSegmentIndex == 1 {

    var models: Results<Post>?
    let service = PostService()
    let cellNibName: String? = nil
    var previewingContext: UIViewControllerPreviewing?
    
    var dataView: DataViewable {
        return tableView
