diff --git a/src/Allwmake b/src/Allwmake
index 35b8f55b886f902b5dfca438b36a36ba4f7caa93..c451cff8dd569337fee1e93b2aea9af6d559547c 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -2,6 +2,9 @@
 cd ${0%/*} || exit 1    # run from this directory
 set -x
 
+# force update of Foam::FOAMversion string (git tag or $WM_PROJECT_VERSION)
+/bin/rm -f OpenFOAM/Make/$WM_OPTIONS/global.? 2>/dev/null
+
 wmakeLnInclude -f OpenFOAM
 wmakeLnInclude -f OSspecific/$WM_OS
 Pstream/Allwmake
diff --git a/src/OpenFOAM/db/IOobject/IOobjectI.H b/src/OpenFOAM/db/IOobject/IOobjectI.H
index 90b78aabfc5123e65d58906f4461289b42d3674b..3d8331e02245538f21836bd6e11e1f8573f0bccd 100644
--- a/src/OpenFOAM/db/IOobject/IOobjectI.H
+++ b/src/OpenFOAM/db/IOobject/IOobjectI.H
@@ -31,13 +31,22 @@ License
 template<class Stream>
 inline void Foam::IOobject::writeBanner(Stream& os, bool noHint)
 {
-    static bool spacesSet = false;
+    static bool spacesSet(false);
     static char spaces[40];
 
     if (!spacesSet)
     {
         memset(spaces, ' ', 40);
-        spaces[38 - strlen(Foam::FOAMversion)] = '\0';
+
+        size_t len = strlen(Foam::FOAMversion);
+        if (len < 38)
+        {
+            spaces[38 - len] = '\0';
+        }
+        else
+        {
+            spaces[0] = '\0';
+        }
         spacesSet = true;
     }
 
diff --git a/src/OpenFOAM/global/global.C b/src/OpenFOAM/global/global.C
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/wmake/rules/General/version b/wmake/rules/General/version
index 805eb585613340ca8d7ffd986ce4078bb73be4c3..e1f0bc6387a1d93dfa79f7708ef00408d372b60e 100644
--- a/wmake/rules/General/version
+++ b/wmake/rules/General/version
@@ -1,6 +1,15 @@
 .SUFFIXES: .Cver
 
-Cvertoo = sed s/WM_PROJECT_VERSION/\"$(WM_PROJECT_VERSION)\"/ $$SOURCE > $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ 
+#
+# update version string from git, or just use the WM_PROJECT_VERSION
+# note: could also add --abbrev=32 for maximum resolution
+#
+Cvertoo = \
+    sed s/WM_PROJECT_VERSION/\"$(shell \
+        git describe --always --tags 2>/dev/null || \
+        echo $(WM_PROJECT_VERSION) \
+    )\"/ $$SOURCE > $*.C; \
+    $(CC) $(c++FLAGS) -c $*.C -o $@
 
 .Cver.dep:
 	$(MAKE_DEP)