diff --git a/st.c b/st.c
index 2ecf8f3..59db144 100644
--- a/st.c
+++ b/st.c
@@ -682,9 +682,12 @@ execsh(char *cmd, char **args)
 	if (args) {
 		prog = args[0];
 		arg = NULL;
-	} else if (scroll || utmp) {
-		prog = scroll ? scroll : utmp;
-		arg = scroll ? utmp : NULL;
+	} else if (scroll) {
+		prog = scroll;
+		arg = utmp ? utmp : sh;
+	} else if (utmp) {
+		prog = utmp;
+		arg = NULL;
 	} else {
 		prog = sh;
 		arg = NULL;