diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
index 3e2ca17802ddc27d94748dd57972d9be799274d7..6b9b86a757af5df3e91c88cf08220d1cf414d448 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx
@@ -81,8 +81,8 @@ GmxInterface * GmxUtil::gmxInterface() {
 }
 
 double GmxUtil::evaluate(char const *expression) {
-    static string lastGoodExpression("none"); // It is helpful for debugging to get some idea of where we had got to...
-    string thread_local strExpression(expression);
+    static thread_local string lastGoodExpression("none"); // It is helpful for debugging to get some idea of where we had got to...
+    string strExpression(expression);
 
     bool isWhiteSpace = true;
     for(unsigned int i = 0; i < strExpression.length(); ++i){