diff --git a/dmenu.c b/dmenu.c
index abd979b..9c01979 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -538,14 +538,16 @@ insert:
 		break;
 	case XK_Return:
 	case XK_KP_Enter:
-		puts((sel && !(ev->state & ShiftMask)) ? sel->text : text);
-		if (!(ev->state & ControlMask)) {
-			cleanup();
-			exit(0);
-		}
-		if (sel)
-			sel->out = 1;
-		break;
+        /* This is where we are handling Ctrl+Enter/Enter and were handling Shift+Enter  */
+        if (sel) {
+            puts(sel->text);
+            if (!(ev->state & ControlMask)){
+                cleanup();
+                exit(0);
+            }
+            sel->out = 1;
+        }
+        break;
 	case XK_Right:
 	case XK_KP_Right:
 		if (columns > 1) {