diff --git a/globals.mak b/globals.mak
index 7d95ebce52e7f799437add766da5a591214ab31a..9e0b4844c513ae24cbb3feaaf4a96f38e778998b 100644
--- a/globals.mak
+++ b/globals.mak
@@ -18,8 +18,8 @@ if BUILD_GSM
 GSMCODEC=-DHAVE_GSM_CODEC
 endif
 
-RING_DIRTY_REPO ?= $(shell git diff-index --quiet HEAD || echo dirty)
-RING_REVISION ?= $(shell git log -1 --format="%h" --abbrev=10)
+RING_DIRTY_REPO:=$(shell git diff-index --quiet HEAD 2>/dev/null || echo dirty)
+RING_REVISION:=$(shell git log -1 --format="%h" --abbrev=10 2>/dev/null)
 
 # Preprocessor flags
 AM_CPPFLAGS = \
@@ -32,8 +32,8 @@ AM_CPPFLAGS = \
 	-DPREFIX=\"$(prefix)\" \
 	-DPROGSHAREDIR=\"${datadir}/ring\" \
 	-DENABLE_TRACE \
-	-DRING_REVISION=\"${RING_REVISION}\" \
-	-DRING_DIRTY_REPO=\"${RING_DIRTY_REPO}\" \
+	-DRING_REVISION=\"$(RING_REVISION)\" \
+	-DRING_DIRTY_REPO=\"$(RING_DIRTY_REPO)\" \
 	$(SPEEXCODEC) \
 	$(GSMCODEC) \
 	$(OPUSCODEC)
diff --git a/src/buildinfo.cpp b/src/buildinfo.cpp
index 8ca73e22f4813e3c30aafe222ff4710b7521aed7..45f0cbb95fd22f4353f460fc025456f524bfc82e 100644
--- a/src/buildinfo.cpp
+++ b/src/buildinfo.cpp
@@ -40,7 +40,9 @@ namespace DRing {
 const char*
 version() noexcept
 {
-    return RING_DIRTY_REPO[0] ? PACKAGE_VERSION "-" RING_REVISION "-" RING_DIRTY_REPO : PACKAGE_VERSION "-" RING_REVISION;
+    return RING_REVISION[0] and RING_DIRTY_REPO[0] ?
+        PACKAGE_VERSION "-" RING_REVISION "-" RING_DIRTY_REPO :
+        (RING_REVISION[0] ? PACKAGE_VERSION "-" RING_REVISION : PACKAGE_VERSION);
 }
 
 } // namespace DRing