diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 66620897b267310d4b338e3d71acaee63bdb8779..fa57b738107d01d4a5e330201eb67f5e7bda6957 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -345,7 +345,8 @@ void QmlEngine::showMessage(const QString &msg, int channel, int timeout) const
 void QmlEngine::gotoLocation(const Location &location)
 {
     const QString fileName = location.fileName();
-    if (QUrl(fileName).isLocalFile()) {
+    // TODO: QUrl::isLocalFile() once we depend on Qt 4.8
+    if (QUrl(fileName).scheme().compare(QLatin1String("file"), Qt::CaseInsensitive) == 0) {
         // internal file from source files -> show generated .js
         QString fileName = location.fileName();
         QTC_ASSERT(d->m_sourceDocuments.contains(fileName), return);