diff --git a/SystemTools.cxx b/SystemTools.cxx
index 706ab48a5e67c90fdf284798db705200eb947037..b9ca934cf55c1246379e3391a58b58ccef51c18c 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -268,7 +268,7 @@ void SystemTools::ReplaceString(kwsys_std::string& source,
   searchPos = searchPos - src + orig;
   
   // initialize the result
-  source.clear();
+  source.erase(source.begin(),source.end());
   do
     {
     *searchPos = '\0';