diff --git a/src/winio.c b/src/winio.c
index 1cdb664a4f3aaa3c6ad13a42f149fb64b3348f56..6d48a6c17418217ecab20b236cfd04c619865d31 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1508,20 +1508,20 @@ long get_unicode_kbinput(WINDOW *win, int kbinput)
  *   Ctrl-8 == Ctrl-? */
 int get_control_kbinput(int kbinput)
 {
+	if ('@' <= kbinput && kbinput <= '_')
+		return kbinput - '@';
+	if ('`' <= kbinput && kbinput <= '~')
+		return kbinput - '`';
+	if ('3' <= kbinput && kbinput <= '7')
+		return kbinput - 24;
+	if (kbinput == '?' || kbinput == '8')
+		return DEL_CODE;
 	if (kbinput == ' ' || kbinput == '2')
 		return 0;
-	else if (kbinput == '/')
+	if (kbinput == '/')
 		return 31;
-	else if ('3' <= kbinput && kbinput <= '7')
-		return kbinput - 24;
-	else if (kbinput == '8' || kbinput == '?')
-		return DEL_CODE;
-	else if ('@' <= kbinput && kbinput <= '_')
-		return kbinput - '@';
-	else if ('`' <= kbinput && kbinput <= '~')
-		return kbinput - '`';
-	else
-		return kbinput;
+
+	return kbinput;
 }
 
 /* Read in a stream of characters verbatim, and return the length of the