diff --git a/src/m_menu.c b/src/m_menu.c
index 6a1d6b4a66b6aeea9652fb12f01847ccfabb212c..c491396dc545a8ce171342f2024edf7bacdf2eea 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -225,7 +225,6 @@ static void M_SelectableClearMenus(INT32 choice);
 static void M_Retry(INT32 choice);
 static void M_EndGame(INT32 choice);
 static void M_MapChange(INT32 choice);
-static void M_Pause(INT32 choice);
 static void M_ChangeLevel(INT32 choice);
 static void M_ConfirmSpectate(INT32 choice);
 static void M_ConfirmEnterGame(INT32 choice);
@@ -481,8 +480,6 @@ typedef enum
 // ---------------------
 static menuitem_t MPauseMenu[] =
 {
-	{IT_STRING  | IT_CALL,    NULL, "Pause",             M_Pause,                0},
-
 	{IT_STRING  | IT_SUBMENU, NULL, "Scramble Teams...", &MISC_ScrambleTeamDef, 16},
 	{IT_STRING  | IT_CALL,    NULL, "Switch Map..."    , M_MapChange,           24},
 
@@ -502,8 +499,7 @@ static menuitem_t MPauseMenu[] =
 
 typedef enum
 {
-	mpause_pause = 0,
-	mpause_scramble,
+	mpause_scramble = 0,
 	mpause_switchmap,
 
 	mpause_continue,
@@ -2102,11 +2098,6 @@ boolean M_Responder(event_t *ev)
 		{
 			ch = ev->data1;
 
-			// Pause by joystick means you bring up the menu
-			if (ch >= KEY_JOY1 && ch < KEY_JOY1 + JOYBUTTONS + JOYHATS*4 &&
-				(ch == gamecontrol[gc_pause][0] || ch == gamecontrol[gc_pause][1]))
-				ch = KEY_ESCAPE;
-
 			// added 5-2-98 remap virtual keys (mouse & joystick buttons)
 			switch (ch)
 			{
@@ -2221,11 +2212,6 @@ boolean M_Responder(event_t *ev)
 	// F-Keys
 	if (!menuactive)
 	{
-		// Pause by joystick means you bring up the menu
-		if (ch >= KEY_JOY1 && ch < KEY_JOY1 + JOYBUTTONS + JOYHATS*4 &&
-			(ch == gamecontrol[gc_pause][0] || ch == gamecontrol[gc_pause][1]))
-			ch = KEY_ESCAPE;
-
 		noFurtherInput = true;
 		switch (ch)
 		{
@@ -2613,7 +2599,6 @@ void M_StartControlPanel(void)
 	}
 	else // multiplayer
 	{
-		MPauseMenu[mpause_pause].status = IT_DISABLED;
 		MPauseMenu[mpause_switchmap].status = IT_DISABLED;
 		MPauseMenu[mpause_scramble].status = IT_DISABLED;
 		MPauseMenu[mpause_psetupsplit].status = IT_DISABLED;
@@ -2626,15 +2611,8 @@ void M_StartControlPanel(void)
 		if ((server || adminplayer == consoleplayer))
 		{
 			MPauseMenu[mpause_switchmap].status = IT_STRING | IT_CALL;
-			if (!splitscreen)
-				MPauseMenu[mpause_pause].status = IT_STRING | IT_CALL; // server admin only
 			if (G_GametypeHasTeams())
-			{
 				MPauseMenu[mpause_scramble].status = IT_STRING | IT_SUBMENU;
-				MPauseMenu[mpause_pause].alphaKey = MPauseMenu[mpause_scramble].alphaKey - 16; // adjust y
-			}
-			else
-				MPauseMenu[mpause_pause].alphaKey = MPauseMenu[mpause_switchmap].alphaKey - 16; // adjust y
 		}
 
 		if (splitscreen)
@@ -6294,13 +6272,6 @@ static void M_MapChange(INT32 choice)
 	M_SetupNextMenu(&MISC_ChangeLevelDef);
 }
 
-static void M_Pause(INT32 choice)
-{
-	(void)choice;
-
-	COM_ImmedExecute("pause");
-}
-
 static void M_StartSplitServerMenu(INT32 choice)
 {
 	(void)choice;