diff --git a/config/git_hash.sh b/config/git_hash.sh
index ea5d3ebbc482fc5b68cc959875ca8d519d19f2c0..7a1d43e2b21484effe46594b1f426a4471e7062c 100755
--- a/config/git_hash.sh
+++ b/config/git_hash.sh
@@ -1,2 +1,2 @@
 #!/bin/bash
-echo "#define GIT_HASH" \"`git describe --always --dirty=+ --tags --long --abbrev=16`\" > $1
+cd $1; echo "#define GIT_HASH" \"`git describe --always --dirty=+ --tags --long --abbrev=16`\" > $2
diff --git a/tracelib/CMakeLists.txt b/tracelib/CMakeLists.txt
index 629ddb4d8f43c0e66aa86331ab39f5c95495ea4a..32f3ba2f8b16931f17a7d25ae5aa3f33d9a364ef 100644
--- a/tracelib/CMakeLists.txt
+++ b/tracelib/CMakeLists.txt
@@ -1,6 +1,6 @@
 add_custom_command (
   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/git_hash.h
-  COMMAND ${SHELL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/config/git_hash.sh ${CMAKE_CURRENT_BINARY_DIR}/git_hash.h
+  COMMAND ${SHELL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/config/git_hash.sh ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/git_hash.h
   )
 
 add_custom_command (