diff --git a/Makefile b/Makefile
index c2527a13e7..5b298d4f39 100644
--- a/Makefile
+++ b/Makefile
@@ -98,8 +98,8 @@ CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
 QEMU_PKGVERSION := $(if $(PKGVERSION),$(PKGVERSION),$(shell \
   cd $(SRC_PATH); \
   if test -e .git; then \
-    git rev-parse --short HEAD 2>/dev/null | tr -d '\n'; \
-    if ! git diff --quiet HEAD &>/dev/null; then \
+    git describe --match 'v*' 2>/dev/null | tr -d '\n'; \
+    if ! git diff-index --quiet HEAD &>/dev/null; then \
       echo "-dirty"; \
     fi; \
   fi))