             let parseError = ReadabilityError.unableToParseScriptResult(rawResult: result as? String)
             
             guard let resultData = (result as? String)?.data(using: .utf8) else {
-                self?.completionHandler(nil, webView, error)
+                self?.completionHandler(nil, webView, error, self?.previousNavigationDelegate)
                 return
             }
             guard let jsonResultOptional = try? JSONSerialization.jsonObject(with: resultData, options: []), let jsonResult = jsonResultOptional as? [String: String?], let contentOptional = jsonResult["content"], let content = contentOptional, let titleOptional = jsonResult["title"], let bylineOptional = jsonResult["byline"] else {
-                self?.completionHandler(nil, webView, parseError)
+                self?.completionHandler(nil, webView, parseError, self?.previousNavigationDelegate)
                 return
             }
             guard let html = self?.renderHTML(

            
            self?.isRenderingReadabilityHTML = false
            guard let html = html else {
                self?.completionHandler(nil, webView, error)
                return
            }
            self?.completionHandler(html, webView, nil)
        }
    }
    

        }
        let webView = webView ?? ownWebView
        
        func completionHandlerWrapper(_ content: String?, _ rawWebView: WKWebView, _ error: Error?, previousNavigationDelegate: WKNavigationDelegate?) {
            // See: https://stackoverflow.com/a/32443423/89373
            if ownWebView == rawWebView {
                rawWebView.stopLoading()
                rawWebView.configuration.userContentController.removeScriptMessageHandler(forName: "readabilityJavascriptLoaded")
                rawWebView.navigationDelegate = previousNavigationDelegate
            }
            completionHandler(content, rawWebView, error)
        }
