diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp
index 8b1623aead1286fe50c8dac5df188d9418733044..75e1734cba108b990704685c1fea13831e29a8e1 100644
--- a/Common/GmshMessage.cpp
+++ b/Common/GmshMessage.cpp
@@ -458,10 +458,8 @@ void Msg::ProgressMeter(int n, int N, bool log, const char *fmt, ...)
     vsnprintf(str, sizeof(str), fmt, args);
     va_end(args);
 
-    if(strlen(fmt)) strcat(str, " ");
-
     char str2[1024];
-    sprintf(str2, "%s(%d %%)", str, _progressMeterCurrent);
+    sprintf(str2, "[%3d%%] %s", _progressMeterCurrent, str);
 
     if(_client) _client->Progress(str2);