diff --git a/src/designviewer.cpp b/src/designviewer.cpp
index f073872ec70ed7eb57c662c82a7e9556530cf2df..c6cbdb5f026a8f77279d7552c53cf9849e91242d 100644
--- a/src/designviewer.cpp
+++ b/src/designviewer.cpp
@@ -352,8 +352,9 @@ void DesignViewer::printError(const QString &message, const QString &fileName, i
     QString escaped = message;
     escaped.replace("'", "\'");
     escaped.replace("\n", "\\n");
-    emscripten_run_script("alert('" + escaped.toUtf8() + "');");
-    emscripten_run_script("location.hash = ''; location.reload();");
+    emscripten::val location = emscripten::val::global("window")["location"];
+    location.set("hash", std::string());
+    location.call<void>("reload");
 }
 
 void DesignViewer::showAppWindow()