diff --git a/cli-runopts.c b/cli-runopts.c
index b251550f7a8c2224fbef90f182384010f08e0e88..2b0cb7d5b323bcb4fd7736bd5ddd62eca45ef355 100644
--- a/cli-runopts.c
+++ b/cli-runopts.c
@@ -220,8 +220,9 @@ void cli_getopts(int argc, char ** argv) {
 			/* A flag *waves* */
 			char c = argv[i][1];
 			if (strlen(argv[i]) != 2) {
-				/* Ensure only one flag per hyphen. '?' falls through to print help */
-				c = '?';
+				/* We only handle one flag per hyphen */
+				fprintf(stderr, "Warning, trailing '%s' of '%s' is ignored.\n",
+					&argv[i][2], argv[i]);
 			}
 			switch (c) {
 				case 'y': /* always accept the remote hostkey */
diff --git a/svr-runopts.c b/svr-runopts.c
index acb7cc1f5eb3719078e7a6ea6ffff72f1b525e03..26c199b130232abd130b44e8ced86717a2041156 100644
--- a/svr-runopts.c
+++ b/svr-runopts.c
@@ -191,8 +191,9 @@ void svr_getopts(int argc, char ** argv) {
 		if (argv[i][0] == '-') {
 			char c = argv[i][1];
 			if (strlen(argv[i]) != 2) {
-				/* Ensure only one flag per hyphen. '?' falls through to print help */
-				c = '?';
+				/* We only handle one flag per hyphen */
+				fprintf(stderr, "Warning, trailing '%s' of '%s' is ignored.\n",
+					&argv[i][2], argv[i]);
 			}
 			switch (c) {
 				case 'b':