diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 133d71d6631ba7f5b467d8677550c6ba818432e4..b1e2eea14288f03549ef9fd54d293b21c5a9c227 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -215,9 +215,9 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
       std::cerr << "loading initial cache file " << path.c_str() << "\n";
       this->ReadListFile(path.c_str());
       }
-    else if(arg.find("--script",0) == 0)
+    else if(arg.find("-P",0) == 0)
       {
-      std::string path = arg.substr(strlen("--script"));
+      std::string path = arg.substr(strlen("-P"));
       if ( path.size() == 0 )
         {
         cmSystemTools::Error("No cmake scrpt provided.");
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 472ea7d4fe7e569b0a3c1d0993f5657db098d4c1..7c9a1552498a1cb2fbf7641b9000b22d7d302dc2 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -183,7 +183,7 @@ int do_cmake(int ac, char** av)
       list_all_cached = true;
       list_help = true;
       }
-    else if (strncmp(av[i], "--script", strlen("--script")) == 0)
+    else if (strncmp(av[i], "-P", strlen("-P")) == 0)
       {
       script_mode = true;
       args.push_back(av[i]);
@@ -194,21 +194,6 @@ int do_cmake(int ac, char** av)
       }
     }
 
-  if ( args.size() > 0 )
-    {
-    std::string &arg = args[args.size()-1];
-    if ( cmSystemTools::StringEndsWith(arg.c_str(), ".cmake") &&
-      cmSystemTools::FileExists(arg.c_str()) && 
-      !cmSystemTools::FileIsDirectory(arg.c_str()) )
-      {
-      std::vector<std::string>::iterator it = args.end();
-      -- it;
-      std::string ar = "--script" + arg;
-      args.insert(it, ar);
-      script_mode = 1;
-      }
-    }
-    
   if(command)
     {
     int ret = cmake::CMakeCommand(args);