diff --git a/CommandLineArguments.cxx b/CommandLineArguments.cxx
index bcdf4404fc455d476c7d0d3abaf1d43aedccab8c..0be0f0a33f25c48a44671626bef2a62d7a4fa39d 100644
--- a/CommandLineArguments.cxx
+++ b/CommandLineArguments.cxx
@@ -101,6 +101,18 @@ void CommandLineArguments::Initialize(int argc, const char* const argv[])
     }
 }
 
+//----------------------------------------------------------------------------
+void CommandLineArguments::Initialize(int argc, char* argv[])
+{
+  int cc;
+
+  this->Initialize();
+  for ( cc = 1; cc < argc; cc ++ )
+    {
+    this->ProcessArgument(argv[cc]);
+    }
+}
+
 //----------------------------------------------------------------------------
 void CommandLineArguments::Initialize()
 {
diff --git a/CommandLineArguments.hxx.in b/CommandLineArguments.hxx.in
index f8cf0cbea7e4500e2964905538da3b2b9c2f3e18..695a2ebc81803c022890b0356876147da0ffd12f 100644
--- a/CommandLineArguments.hxx.in
+++ b/CommandLineArguments.hxx.in
@@ -86,6 +86,7 @@ public:
    * Initialize internal data structures. This should be called before parsing.
    */
   void Initialize(int argc, const char* const argv[]);
+  void Initialize(int argc, char* argv[]);
 
   /**
    * Initialize internal data structure and pass arguments one by one. This is