diff --git a/util/gnc-svnversion b/util/gnc-svnversion
index d70c22f..17085ac 100755
--- a/util/gnc-svnversion
+++ b/util/gnc-svnversion
@@ -45,9 +45,11 @@ fi
 # Maybe it's git?
 if test -d "${real_srcdir}"/.git
 then
-  githead=`git --git-dir "${real_srcdir}"/.git rev-parse HEAD 2>/dev/null`
+  githead=`git --git-dir "${real_srcdir}"/.git log -1 --pretty=%h HEAD 2>/dev/null`  # short hash only
   if test $? = 0 ; then
-    echo $githead
+    echo -n $githead
+    git diff HEAD 2>&1 > /dev/null && echo -n "+"  # Add a "+" to the hash if there are unstaged changes
+    echo
     exit 0
   else
     exit 1