diff --git a/SystemTools.cxx b/SystemTools.cxx
index 0113dedba756fd797301e85acc0e6219bbeefd6e..5f07a1773dcbb7c459799eaad42f1b76ab0fdbf0 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -405,17 +405,17 @@ bool SystemTools::GetEnv(const char* key, kwsys_stl::string& result)
 class kwsysDeletingCharVector : public kwsys_stl::vector<char*>
 {
 public:
-  ~kwsysDeletingCharVector()
-    {
-      for(kwsys_stl::vector<char*>::iterator i = this->begin();
-          i != this->end(); ++i)
-        {
-        delete []*i;
-        }
-    }
+  ~kwsysDeletingCharVector();
 };
 
-        
+kwsysDeletingCharVector::~kwsysDeletingCharVector()
+{
+  for(kwsys_stl::vector<char*>::iterator i = this->begin();
+      i != this->end(); ++i)
+    {
+    delete []*i;
+    }
+}
 bool SystemTools::PutEnv(const char* value)
 { 
   static kwsysDeletingCharVector localEnvironment;