diff --git a/st.c b/st.c
index 781dbf2..6783c2b 100644
--- a/st.c
+++ b/st.c
@@ -1928,7 +1928,7 @@ strhandle(void)
 				fprintf(stderr, "erresc: invalid foreground color: %s\n", p);
 			else
 				redraw();
-			break;
+			return;
 		case 11:
 			if (narg < 2)
 				break;
@@ -1941,7 +1941,7 @@ strhandle(void)
 				fprintf(stderr, "erresc: invalid background color: %s\n", p);
 			else
 				redraw();
-			break;
+			return;
 		case 12:
 			if (narg < 2)
 				break;
@@ -1954,7 +1954,7 @@ strhandle(void)
 				fprintf(stderr, "erresc: invalid cursor color: %s\n", p);
 			else
 				redraw();
-			break;
+			return;
 		case 4: /* color set */
 			if (narg < 3)
 				break;