diff --git a/qtcreator.pri b/qtcreator.pri
index 536f6e6bf6558a8c02b8348966e4744723988719..507e19f7114cd16964dbc6e1d3c668fcfbb16bb6 100644
--- a/qtcreator.pri
+++ b/qtcreator.pri
@@ -15,6 +15,19 @@ defineReplace(targetPath) {
     return($$replace(1, /, $$QMAKE_DIR_SEP))
 }
 
+defineReplace(qtLibraryName) {
+   unset(LIBRARY_NAME)
+   LIBRARY_NAME = $$1
+   CONFIG(debug, debug|release) {
+      !debug_and_release|build_pass {
+          mac:RET = $$member(LIBRARY_NAME, 0)_debug
+              else:win32:RET = $$member(LIBRARY_NAME, 0)d
+      }
+   }
+   isEmpty(RET):RET = $$LIBRARY_NAME
+   return($$RET)
+}
+
 # For use in custom compilers which just copy files
 win32:i_flag = i
 defineReplace(stripSrcDir) {
diff --git a/src/libs/qmljsdebugger/qmljsdebugger.pri b/src/libs/qmljsdebugger/qmljsdebugger.pri
index 119fde306cfc797adeac6816bfc3641c78ff8335..34483da17d9e40b7421c6ecee0740cb7a78fd11b 100644
--- a/src/libs/qmljsdebugger/qmljsdebugger.pri
+++ b/src/libs/qmljsdebugger/qmljsdebugger.pri
@@ -2,4 +2,4 @@ INCLUDEPATH += $$PWD/include
 DEPENDPATH += $$PWD $$PWD/include $$PWD/editor
 QT += declarative script
 
-LIBS *= -l$$qtLibraryTarget(QmlJSDebugger)
+LIBS *= -l$$qtLibraryName(QmlJSDebugger)
diff --git a/src/libs/utils/utils.pri b/src/libs/utils/utils.pri
index 4e173f2cad1668823888ae427155ea1864395e3d..f6e523b74d763e2bcfc534a3d0dc6d6aed24714a 100644
--- a/src/libs/utils/utils.pri
+++ b/src/libs/utils/utils.pri
@@ -1 +1 @@
-LIBS *= -l$$qtLibraryTarget(Utils)
+LIBS *= -l$$qtLibraryName(Utils)
diff --git a/src/tools/qml/qmlobserver/qmlobserver.pro b/src/tools/qml/qmlobserver/qmlobserver.pro
index 919a1a028f2413ac8f7ad453aea8c13e4c1e8886..e81e57509021fdf24c778e758aa374c3aa5bb2c1 100644
--- a/src/tools/qml/qmlobserver/qmlobserver.pro
+++ b/src/tools/qml/qmlobserver/qmlobserver.pro
@@ -4,18 +4,16 @@ QT += declarative
 include(qml.pri)
 
 SOURCES += main.cpp 
+include(../../../../qtcreator.pri)
 
-# hack to get qtLibraryTarget macro working
-TEMPLATE +=lib
 include(../../../libs/qmljsdebugger/qmljsdebugger.pri)
 include(../../../libs/utils/utils.pri)
 mac {
-    qmljsLibraryTarget = $$qtLibraryTarget(QmlJSDebugger)
-    utilsLibraryTarget = $$qtLibraryTarget(Utils)
+    qmljsLibraryTarget = $$qtLibraryName(QmlJSDebugger)
+    utilsLibraryTarget = $$qtLibraryName(Utils)
 }
-TEMPLATE -=lib
 
-include(../../../../qtcreator.pri)
+
 include(../../../private_headers.pri)
 DESTDIR = $$IDE_BIN_PATH
 include(../../../rpath.pri)