diff --git a/SConstruct b/SConstruct
index 81bc849b15e11c8df5875d4cfdc39cb8d0757169..8590d4bb4c0d718b075197bea5ed0372322612f2 100644
--- a/SConstruct
+++ b/SConstruct
@@ -40,7 +40,7 @@ env.ScanReplace('libhammer.pc.in')
 env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes")
 
 if env['PLATFORM'] == 'darwin':
-    env.Append(SHLINKFLAGS = ['-install_name', '$TARGET'])
+    env.Append(SHLINKFLAGS = '-install_name ' + env["libpath"] + '/${TARGET.file}')
 else:
     env.MergeFlags("-lrt")