Finally coming back to this ... and found the issue :-) DBGWebPage *NewPage = new DBGWebPage(webGUI); The new Page was not a child of the correct object. I checked pointers as suggested. The connect of the JS bridge showed no issues. However, the first call from JS (signal javaScriptWindowObjectCleared() calling my populateJavaScriptWindowObject()) crashed on QWebFrame * webGUIframe = qobject_cast<QWebFrame *>(sender()); QWebView * webGUI = (QWebView*)(webGUIframe->parent())->parent(); obviously because it was pointing to 'nothing' instead of a QWebView. Thank you guys for all the hints.