diff --git a/qbs/defaults.js b/qbs/defaults.js
index 12d89c9fa24849acc0c52d82977bc13c0da481ec..5c99f734cd207cb242cc64fbb0be162ca9c96ebd 100644
--- a/qbs/defaults.js
+++ b/qbs/defaults.js
@@ -16,3 +16,15 @@ function defines(qbs)
         list.push("WITH_TESTS")
     return list
 }
+
+// see PluginSpecPrivate::loadLibrary()
+function qtLibraryName(qbs, name)
+{
+    if (qbs.debugInformation) {
+        if (qbs.targetOS.contains("windows"))
+            return name + "d";
+        else if (qbs.targetOS.contains("osx"))
+            return name + "_debug";
+    }
+    return name;
+}
diff --git a/src/libs/QtcLibrary.qbs b/src/libs/QtcLibrary.qbs
index 7c6be844c862a70e92a920680f031bed3afe50ae..a90826df3bdd2d48faea77330116821896ad7f4c 100644
--- a/src/libs/QtcLibrary.qbs
+++ b/src/libs/QtcLibrary.qbs
@@ -8,6 +8,8 @@ DynamicLibrary {
         name: "Qt.test"
     }
 
+    targetName: Defaults.qtLibraryName(qbs, name)
+
     cpp.defines: Defaults.defines(qbs)
     cpp.linkerFlags: {
         if (qbs.buildVariant == "release" && (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw")))
diff --git a/src/plugins/QtcPlugin.qbs b/src/plugins/QtcPlugin.qbs
index a6ff01c0a2613ffd08417b20ff6da008fe91ba3f..fcd6533e993f957fd236472354a8adae5175b93c 100644
--- a/src/plugins/QtcPlugin.qbs
+++ b/src/plugins/QtcPlugin.qbs
@@ -7,16 +7,8 @@ Product {
     property string provider: 'QtProject'
     property var pluginspecreplacements
     property var pluginRecommends: []
-    targetName: {
-        // see PluginSpecPrivate::loadLibrary()
-        if (qbs.debugInformation) {
-            if (qbs.targetOS.contains("windows"))
-                return name + "d";
-            if (qbs.targetOS.contains("osx"))
-                return name + "_debug";
-        }
-        return name;
-    }
+
+    targetName: Defaults.qtLibraryName(qbs, name)
 
     Depends { name: "ExtensionSystem" }
     Depends { name: "pluginspec" }