diff --git a/qtcreator.pri b/qtcreator.pri
index 2994770571f33c7ee291e4608994f66440c4d82d..f1a9f6af50e35f3f41e8aabe33d8df380019dc07 100644
--- a/qtcreator.pri
+++ b/qtcreator.pri
@@ -99,6 +99,7 @@ macx {
     IDE_BIN_PATH     = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/MacOS
     contains(QT_CONFIG, ppc):CONFIG += ppc x86
     copydata = 1
+    isEmpty(TIGER_COMPAT_MODE):TIGER_COMPAT_MODE=$$(QTC_TIGER_COMPAT)
 } else {
     win32 {
         contains(TEMPLATE, vc.*)|contains(TEMPLATE_PREFIX, vc):vcproj = 1
diff --git a/src/qtcreatorplugin.pri b/src/qtcreatorplugin.pri
index a13d519dc804091e7693d016b28c5965f834e085..f27097c03721a030f9aaf071b875cce162c6e43c 100644
--- a/src/qtcreatorplugin.pri
+++ b/src/qtcreatorplugin.pri
@@ -28,7 +28,12 @@ QMAKE_EXTRA_COMPILERS += copy2build
 
 
 macx {
+    !isEmpty(TIGER_COMPAT_MODE) {
         QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../PlugIns/$${PROVIDER}/
+    } else {
+        QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/$${PROVIDER}/
+        QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../../
+    }
 } else:linux-* {
     #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR
     QMAKE_RPATHDIR += \$\$ORIGIN
diff --git a/src/rpath.pri b/src/rpath.pri
index 750d0ed4d8da5f651c99b693bf2136fab27bc34b..c0882c411547c3b752daa6a0edf60896245e6dac 100644
--- a/src/rpath.pri
+++ b/src/rpath.pri
@@ -1,5 +1,10 @@
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../PlugIns/
+    !isEmpty(TIGER_COMPAT_MODE) {
+        QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../PlugIns/
+    } else {
+        QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/
+        QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../
+    }
 } else:linux-* {
     #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR
     # this expands to $ORIGIN (after qmake and make), it does NOT read a qmake var