diff --git a/LCS/ACC/PLC/src/ACCmain.cc b/LCS/ACC/PLC/src/ACCmain.cc
index ae5b8e6404c320dd822c71ba2ead471491b5a09e..c3d9e1a1573e03e3d1e79349976ab7ef7b4f4d6e 100644
--- a/LCS/ACC/PLC/src/ACCmain.cc
+++ b/LCS/ACC/PLC/src/ACCmain.cc
@@ -55,12 +55,12 @@ int ACCmain (int argc, char* orig_argv[], ProcessControl* theProcess) {
 	int myRank = TH_MPI::getCurrentRank();
 
 	// The MPI standard does not demand that the commandline
-	// arguments are distributed, so we do it ourselves. 
+	// arguments are distributed, so we do it ourselves.
 
 	// Broadcast number of arguments
 	MPI_Bcast(&argc, 1, MPI_INT, 0, MPI_COMM_WORLD);
 	// Some MPI implementations block on the Bcast. Synchronize
-	// the nodes to avoid deadlock. 
+	// the nodes to avoid deadlock.
 	MPI_Barrier(MPI_COMM_WORLD);
 
 	if (myRank != 0) {
@@ -83,7 +83,7 @@ int ACCmain (int argc, char* orig_argv[], ProcessControl* theProcess) {
 			argv[arg] = new char[arglen];
 		}
 		// Broadcast the argument;
-		MPI_Bcast(argv[arg], arglen, MPI_BYTE, 0, MPI_COMM_WORLD);	
+		MPI_Bcast(argv[arg], arglen, MPI_BYTE, 0, MPI_COMM_WORLD);
 	}
 #endif
 
@@ -102,7 +102,14 @@ int ACCmain (int argc, char* orig_argv[], ProcessControl* theProcess) {
 	try {
 		// Read in the parameterset.
 		ConfigLocator	CL;
-		string	ParsetFile = CL.locate(argv[1 + (ACCmode ? 1 : 0)]);
+		string ParsetFile;
+    if (argc > 1) {
+      ParsetFile = CL.locate(argv[1 + (ACCmode ? 1 : 0)]);
+    }
+    else {
+      ParsetFile = CL.locate(programName + ".parset");
+    }
+
 		ASSERTSTR(!ParsetFile.empty(), "Could not find parameterset " << argv[1]);
 		LOG_INFO_STR("Using parameterset " << ParsetFile);
 		globalParameterSet()->adoptFile(ParsetFile);
@@ -111,34 +118,39 @@ int ACCmain (int argc, char* orig_argv[], ProcessControl* theProcess) {
                 ParameterSet arg;
                 arg.add("ProgramName", programName);
 
-                // Create the correct ProcCtrlProxy and start it. 
+                // Create the correct ProcCtrlProxy and start it.
                 if (ACCmode) {
                   arg.add("ProcID", argv[3]);
                   result = (ProcCtrlRemote(theProcess))(arg);
-                } 
+                }
                 else {
-                  arg.add("NoRuns", argv[argc-1]);
+                  if (argc > 1) {
+                    arg.add("NoRuns", argv[argc-1]);
+                  }
+                  else {
+                     arg.add("NoRuns", "1");
+                  }
                   result = (ProcCtrlCmdLine(theProcess))(arg);
                 }
-	} 
+	}
 	catch (Exception& ex) {
 		LOG_FATAL_STR("Caught exception: " << ex << endl);
 		result = 1;
-	} 
+	}
 	catch (std::exception& ex) {
 		LOG_FATAL_STR("Caught std::exception: " << ex.what());
 		result = 1;
-	} 
+	}
 	catch (...) {
 		LOG_FATAL_STR("Caught unknown exception.");
 		result = 1;
-	}  
+	}
 
 #ifdef HAVE_MPI
 	TH_MPI::finalize();
 #endif
 
-	LOG_INFO(programName + " terminated " + 
+	LOG_INFO(programName + " terminated " +
                  (result ? "with an error" : "normally"));
 
 	return result;