diff --git a/src/window.c b/src/window.c
index cc9c217..8e5d3de 100644
--- a/src/window.c
+++ b/src/window.c
@@ -863,7 +863,7 @@
     {
 	if (VISIBLE_HEIGHT(oldwin) <= p_wmh && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	need_status = STATUS_HEIGHT;
@@ -921,7 +921,7 @@
 	}
 	if (available < needed && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	if (new_size == 0)
@@ -1004,7 +1004,7 @@
 	}
 	if (available < needed && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	oldwin_height = oldwin->w_height;
@@ -5867,7 +5867,7 @@
 	--p_wmh;
 	if (first)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    first = FALSE;
 	}
     }
@@ -5893,7 +5893,7 @@
 	--p_wmw;
 	if (first)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    first = FALSE;
 	}
     }
@@ -6385,7 +6385,7 @@
 	    {
 		if (frp == NULL)
 		{
-		    emsg(_(e_noroom));
+		    emsg(_(e_not_enough_room));
 		    p_ch = old_p_ch;
 		    curtab->tp_ch_used = p_ch;
 		    cmdline_row = Rows - p_ch;
@@ -6476,7 +6476,7 @@
 	    {
 		if (fp == topframe)
 		{
-		    emsg(_(e_noroom));
+		    emsg(_(e_not_enough_room));
 		    return;
 		}
 		// In a column of frames: go to frame above.  If already at
