diff --git a/src/gl/scene/gl_scene.cpp b/src/gl/scene/gl_scene.cpp
index 73421a52a..fa54cd4b3 100644
--- a/src/gl/scene/gl_scene.cpp
+++ b/src/gl/scene/gl_scene.cpp
@@ -601,10 +601,10 @@ sector_t * GLSceneDrawer::RenderViewpoint (AActor * camera, IntRect * bounds, fl
 		gl_RenderState.ApplyMatrices();
 
 		ProcessScene(di, toscreen);
-		if (mainview && toscreen) EndDrawScene(di, lviewsector); // do not call this for camera textures.
 
 		if (mainview)
 		{
+			if (toscreen) EndDrawScene(di, lviewsector); // do not call this for camera textures.
 			GLRenderer->PostProcessScene(cm, [&]() { DrawEndScene2D(di, lviewsector); });
 
 			// This should be done after postprocessing, not before.