diff --git a/src/d_main.c b/src/d_main.c
index e48b26ba8a9bd05f7eac019be5054d0dcd552c11..728d227b3b7e99f47eb91e8937d6d6f63107e2a6 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -420,12 +420,6 @@ static void D_Display(void)
 	if (gamestate != GS_TIMEATTACK)
 		CON_Drawer();
 
-#ifdef LEVELWIPES
-	// Running a level wipe
-	if (WipeInAction && WipeInLevel)
-		F_WipeTicker();
-#endif
-
 	M_Drawer(); // menu is drawn even on top of everything
 	// focus lost moved to M_Drawer
 
@@ -445,7 +439,6 @@ static void D_Display(void)
 		{
 			F_WipeEndScreen();
 			// Funny.
-#ifndef LEVELWIPES
 			if (WipeStageTitle && st_overlay)
 			{
 				lt_ticker--;
@@ -454,7 +447,6 @@ static void D_Display(void)
 				V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol);
 				F_WipeStartScreen();
 			}
-#endif
 			F_RunWipe(wipetypepost, gamestate != GS_TIMEATTACK && gamestate != GS_TITLESCREEN);
 		}
 
diff --git a/src/doomdef.h b/src/doomdef.h
index 8cf9e5d093ed1861fe009c18091250eb313cfdca..511dad85820fe04eb16a7d3deaa3b42d617e964c 100644
--- a/src/doomdef.h
+++ b/src/doomdef.h
@@ -628,9 +628,6 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
 #define ROTANGLES 24	// Needs to be a divisor of 360 (45, 60, 90, 120...)
 #define ROTANGDIFF (360 / ROTANGLES)
 
-/// Level wipes
-//#define LEVELWIPES
-
 #ifndef HAVE_PNG
 #define NO_PNG_LUMPS
 #endif
diff --git a/src/f_finale.h b/src/f_finale.h
index 82a7e1408ee38311d5d4cedb99ac2f51cfeedc9f..b5334c29a04cb17304d0923db2e0bd571d6ced23 100644
--- a/src/f_finale.h
+++ b/src/f_finale.h
@@ -141,7 +141,6 @@ void F_MenuPresTicker(boolean run);
 #define FORCEWIPEOFF -2
 
 extern boolean WipeInAction;
-extern boolean WipeInLevel;
 extern boolean WipeStageTitle;
 
 typedef enum
@@ -176,7 +175,6 @@ extern INT32 lastwipetic;
 void F_WipeStartScreen(void);
 void F_WipeEndScreen(void);
 void F_RunWipe(UINT8 wipetype, boolean drawMenu);
-void F_WipeTicker(void);
 void F_WipeStageTitle(void);
 #define F_WipeColorFill(c) V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, (wipecolorfill = c))
 tic_t F_GetWipeLength(UINT8 wipetype);
diff --git a/src/f_wipe.c b/src/f_wipe.c
index 17ffbe0c482d4aadace176cf757de7c9b79e0c8c..b2283c574463e2a14120703d98134d80d1353215 100644
--- a/src/f_wipe.c
+++ b/src/f_wipe.c
@@ -91,7 +91,6 @@ UINT8 wipedefs[NUMWIPEDEFS] = {
 //--------------------------------------------------------------------------
 
 boolean WipeInAction = false;
-boolean WipeInLevel = false;
 boolean WipeStageTitle = false;
 INT32 lastwipetic = 0;
 
@@ -104,8 +103,6 @@ static UINT8 *wipe_scr_end; //screen 4
 static UINT8 *wipe_scr; //screen 0 (main drawing)
 static fixed_t paldiv = 0;
 
-static UINT8 curwipetype;
-static UINT8 curwipeframe;
 UINT8 wipecolorfill = 31;
 
 /** Create fademask_t from lump
@@ -349,8 +346,6 @@ static void F_DoWipe(fademask_t *fademask)
 		free(scrxpos);
 		free(scrypos);
 	}
-	if (wipestyle == WIPESTYLE_LEVEL)
-		F_WipeStageTitle();
 }
 #endif
 
@@ -416,13 +411,6 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu)
 	else
 		wipestyle = WIPESTYLE_NORMAL;
 
-	curwipetype = wipetype;
-	curwipeframe = 0;
-#ifdef LEVELWIPES
-	if (WipeInLevel)
-		return;
-#endif
-
 	// lastwipetic should either be 0 or the tic we last wiped
 	// on for fade-to-black
 	for (;;)
@@ -450,6 +438,9 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu)
 #endif
 			F_DoWipe(fmask);
 
+		if (wipestyle == WIPESTYLE_LEVEL)
+			F_WipeStageTitle();
+
 		I_OsPolling();
 		I_UpdateNoBlit();
 
@@ -463,47 +454,6 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu)
 	}
 
 	WipeInAction = false;
-	WipeInLevel = false;
-	WipeStageTitle = false;
-#endif
-}
-
-/** Run and display the fade with the level.
-  */
-void F_WipeTicker(void)
-{
-#ifndef NOWIPE
-#ifndef LEVELWIPES
-	WipeInAction = false;
-#else
-	fademask_t *fmask;
-
-	// Wait, what?
-	if (!WipeInAction)
-		return;
-
-	if (rendermode == render_soft)
-		wipe_scr_start = wipe_scr_end = screens[0];
-
-	// get fademask first so we can tell if it exists or not
-	fmask = F_GetFadeMask(curwipetype, curwipeframe++);
-	if (!fmask)
-	{
-		// stop
-		WipeInAction = false;
-		WipeInLevel = false;
-		WipeStageTitle = false;
-		return;
-	}
-
-#ifdef HWRENDER
-	// send in the wipe type and wipe frame because we need to cache the graphic
-	if (rendermode == render_opengl)
-		HWR_DoLevelWipe(curwipetype, curwipeframe-1, wipecolorfill); // also send the wipe color
-	else
-#endif
-		F_DoWipe(fmask);
-#endif
 	WipeStageTitle = false;
 #endif
 }
diff --git a/src/g_game.c b/src/g_game.c
index 5e1645901166db7e9ad1908f3a69f58e9bea6459..3242db300784637f69063f68d07acb26878015e9 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1728,7 +1728,6 @@ void G_StartTitleCard(void)
 
 	// start the title card
 	WipeStageTitle = (!titlemapinaction);
-	WipeInLevel = true;
 	wipestyleflags |= WSF_FADEIN;
 	wipestyleflags &= ~WSF_FADEOUT;
 }
diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h
index 1e40a403df1a492aed56106d78e12f8f64f640c9..aed1611f111176ba0ab9c907362e154421894825 100644
--- a/src/hardware/hw_drv.h
+++ b/src/hardware/hw_drv.h
@@ -71,7 +71,6 @@ EXPORT void HWRAPI(FlushScreenTextures) (void);
 EXPORT void HWRAPI(StartScreenWipe) (void);
 EXPORT void HWRAPI(EndScreenWipe) (void);
 EXPORT void HWRAPI(DoScreenWipe) (void);
-EXPORT void HWRAPI(DoScreenWipeLevel) (void);
 EXPORT void HWRAPI(DrawIntermissionBG) (void);
 EXPORT void HWRAPI(MakeScreenTexture) (void);
 EXPORT void HWRAPI(MakeScreenFinalTexture) (void);
@@ -113,7 +112,6 @@ struct hwdriver_s
 	StartScreenWipe     pfnStartScreenWipe;
 	EndScreenWipe       pfnEndScreenWipe;
 	DoScreenWipe        pfnDoScreenWipe;
-	DoScreenWipeLevel   pfnDoScreenWipeLevel;
 	DrawIntermissionBG  pfnDrawIntermissionBG;
 	MakeScreenTexture   pfnMakeScreenTexture;
 	MakeScreenFinalTexture  pfnMakeScreenFinalTexture;
diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 263344ebe55e7b1f9ca9d471b16e7a70aba56dfb..5f0c25a59a0116b93604985d8eb6f9e9ebd612c0 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -7085,26 +7085,6 @@ void HWR_DoTintedWipe(UINT8 wipenum, UINT8 scrnnum)
 	HWR_DoWipe(wipenum, scrnnum);
 }
 
-void HWR_DoLevelWipe(UINT8 wipenum, UINT8 scrnnum, UINT8 colfill)
-{
-#ifndef LEVELWIPES
-	(void)wipenum;
-	(void)scrnnum;
-	(void)colfill;
-#else
-	if (!HWR_WipeCheck(wipenum, scrnnum))
-		return;
-
-	HWR_EndScreenWipe();
-	V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, colfill);
-	HWR_StartScreenWipe();
-	HWR_GetFadeMask(wipelumpnum);
-
-	HWD.pfnDoScreenWipeLevel();
-	F_WipeStageTitle();
-#endif
-}
-
 void HWR_MakeScreenFinalTexture(void)
 {
     HWD.pfnMakeScreenFinalTexture();
diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h
index fb726f2f9f90d3a5175489ffa5ea1355df8ec126..e19c557d03ecfd3821a24b17d69da945a2b57b44 100644
--- a/src/hardware/hw_main.h
+++ b/src/hardware/hw_main.h
@@ -67,7 +67,6 @@ void HWR_EndScreenWipe(void);
 void HWR_DrawIntermissionBG(void);
 void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum);
 void HWR_DoTintedWipe(UINT8 wipenum, UINT8 scrnnum);
-void HWR_DoLevelWipe(UINT8 wipenum, UINT8 scrnnum, UINT8 wipecolorfill);
 void HWR_MakeScreenFinalTexture(void);
 void HWR_DrawScreenFinalTexture(int width, int height);
 
diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c
index 323772cb0698edf5c30ce36692bbfa2d1b678a7f..8c0ca7155faf94264e53e59163e6213f5dddc00a 100644
--- a/src/hardware/r_opengl/r_opengl.c
+++ b/src/hardware/r_opengl/r_opengl.c
@@ -2587,11 +2587,6 @@ EXPORT void HWRAPI(DoScreenWipe)(void)
 	tex_downloaded = endScreenWipe;
 }
 
-EXPORT void HWRAPI(DoScreenWipeLevel)(void)
-{
-	DoScreenWipe();
-}
-
 // Create a texture from the screen.
 EXPORT void HWRAPI(MakeScreenTexture) (void)
 {
diff --git a/src/m_menu.c b/src/m_menu.c
index 7a5aa8ae61ab493754df5e65427f4f31da79ac0a..9ffc1150cea886fd89a5eabf3996c7e73a350bd8 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -3365,8 +3365,6 @@ boolean M_Responder(event_t *ev)
 void M_Drawer(void)
 {
 	boolean wipe = WipeInAction;
-	if (WipeInLevel)
-		wipe = false;
 
 	if (currentMenu == &MessageDef)
 		menuactive = true;
diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c
index 82a430ee68e7b5314b93843cfbfd7f734c6423e6..5f040023a8032e1086ebec70f8a28891a0b741e1 100644
--- a/src/sdl/hwsym_sdl.c
+++ b/src/sdl/hwsym_sdl.c
@@ -97,7 +97,6 @@ void *hwSym(const char *funcName,void *handle)
 	GETFUNC(StartScreenWipe);
 	GETFUNC(EndScreenWipe);
 	GETFUNC(DoScreenWipe);
-	GETFUNC(DoScreenWipeLevel);
 	GETFUNC(DrawIntermissionBG);
 	GETFUNC(MakeScreenTexture);
 	GETFUNC(MakeScreenFinalTexture);
diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index 5f162b00dfb525cf02abc97579964c4b3ca48c8b..f22c79ecaabbd420bca602fe5ad9f594058cf292 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -1666,7 +1666,6 @@ void I_StartupGraphics(void)
 		HWD.pfnStartScreenWipe  = hwSym("StartScreenWipe",NULL);
 		HWD.pfnEndScreenWipe    = hwSym("EndScreenWipe",NULL);
 		HWD.pfnDoScreenWipe     = hwSym("DoScreenWipe",NULL);
-		HWD.pfnDoScreenWipeLevel= hwSym("DoScreenWipeLevel",NULL);
 		HWD.pfnDrawIntermissionBG=hwSym("DrawIntermissionBG",NULL);
 		HWD.pfnMakeScreenTexture= hwSym("MakeScreenTexture",NULL);
 		HWD.pfnMakeScreenFinalTexture=hwSym("MakeScreenFinalTexture",NULL);
diff --git a/src/st_stuff.c b/src/st_stuff.c
index 4e8afa16a527045b592dfc5f385385c5cc35cb4a..621f678206f72c8c6491ecd5b84847dbf85a57f8 100644
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -1294,10 +1294,8 @@ void ST_drawTitleCard(void)
 		return;
 #endif
 
-#ifndef LEVELWIPES
 	if ((lt_ticker-lt_lasttic) > 1)
 		lt_ticker = lt_lasttic+1;
-#endif
 
 	ST_cacheLevelTitle();
 	actpat = lt_patches[0];
@@ -1351,9 +1349,7 @@ luahook:
 void ST_preLevelTitleCardDrawer(tic_t ticker, boolean update)
 {
 	V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol);
-#ifndef LEVELWIPES
 	if (ticker < PRELEVELTIME-1)
-#endif
 		ST_drawWipeTitleCard();
 
 	I_OsPolling();
diff --git a/src/win32/win_dll.c b/src/win32/win_dll.c
index 1311b68704929fe8063e0c9a3e9f20e3c42e0408..5378bb52f645bc10abc0c58dcf27d38f15d9b85a 100644
--- a/src/win32/win_dll.c
+++ b/src/win32/win_dll.c
@@ -121,7 +121,6 @@ static loadfunc_t hwdFuncTable[] = {
 	{"StartScreenWipe@0",   &hwdriver.pfnStartScreenWipe},
 	{"EndScreenWipe@0",     &hwdriver.pfnEndScreenWipe},
 	{"DoScreenWipe@4",      &hwdriver.pfnDoScreenWipe},
-	{"DoScreenWipeLevel@0", &hwdriver.pfnDoScreenWipeLevel},
 	{"DrawIntermissionBG@0",&hwdriver.pfnDrawIntermissionBG},
 	{"MakeScreenTexture@0", &hwdriver.pfnMakeScreenTexture},
 	{"MakeScreenFinalTexture@0", &hwdriver.pfnMakeScreenFinalTexture},
@@ -153,7 +152,6 @@ static loadfunc_t hwdFuncTable[] = {
 	{"StartScreenWipe",     &hwdriver.pfnStartScreenWipe},
 	{"EndScreenWipe",       &hwdriver.pfnEndScreenWipe},
 	{"DoScreenWipe",        &hwdriver.pfnDoScreenWipe},
-	{"DoScreenWipeLevel",   &hwdriver.pfnDoScreenWipeLevel},
 	{"DrawIntermissionBG",  &hwdriver.pfnDrawIntermissionBG},
 	{"MakeScreenTexture",   &hwdriver.pfnMakeScreenTexture},
 	{"MakeScreenFinalTexture", &hwdriver.pfnMakeScreenFinalTexture},