diff --git a/program_options.h b/program_options.h
index 5d060fcc054c5961beb3768a4970b596480be29c..ac09e4539fd57d5b02de8e47c5717626ebb46dc9 100644
--- a/program_options.h
+++ b/program_options.h
@@ -36,7 +36,7 @@ static const char* helpText =
 	"      -e <floats>: irregularity of base point positions; default empty list, all zero\n"
 	"      -d <floats>: irregularity of base point weights; default empty list, all zero\n"
 	"    for opt mode:\n"
-	"      -p <sequence>: parameters to be optimized; list of one or more of c, a, i, g; default all parameters\n"
+	"      -p <sequence>: parameters to be optimized; string of one or more of c, a, e, d corresponding to the shape parameters; default 'caed' (all parameters)\n"
 	"      -r <float>: restart optimization with initial step size if difference is greater than this tolerance; <= 0 for no restart; default 0\n" 
 	"    for matr mode:\n"
 	"      -w <complex>: wave number; =/= 0; default 1+0i\n"
@@ -186,7 +186,7 @@ const char* parse_program_options(int argc, char** argv, ProgramOptions* o)
 		return "Invalid Beyn contour.";
 
 	//opt mode
-	const char* parameters = get_str_opt(argc, argv, 'p', "caig");
+	const char* parameters = get_str_opt(argc, argv, 'p', "caed");
 	o->paramFlags = 0;
 	for (size_t i = 0; i < strlen(parameters); ++i)
 	{
@@ -199,10 +199,10 @@ const char* parse_program_options(int argc, char** argv, ProgramOptions* o)
 			case 'c':
 				o->paramFlags = o->paramFlags | SOL_OPT_C;
 				break;
-			case 'i':
+			case 'e':
 				o->paramFlags = o->paramFlags | SOL_OPT_POSITIONS;
 				break;
-			case 'g':
+			case 'd':
 				o->paramFlags = o->paramFlags | SOL_OPT_WEIGHTS;
 				break;
 			default: