diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 34b718a2bcb1925c224e49a8e5065e4035b4bea3..a6bc692f8dc33216dc65e54e07d8936a248f7ade 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -80,19 +80,6 @@ static sector_t *gl_backsector;
 // --------------------------------------------------------------------------
 
 FTransform atransform;
-// duplicates of the main code, set after R_SetupFrame() passed them into sharedstruct,
-// copied here for local use
-static angle_t dup_viewangle;
-
-static float gl_viewx, gl_viewy, gl_viewz;
-float gl_viewsin, gl_viewcos;
-
-// Maybe not necessary with the new T&L code (needs to be checked!)
-static float gl_viewludsin, gl_viewludcos; // look up down kik test
-static float gl_fovlud;
-
-static angle_t gl_aimingangle;
-static void HWR_SetTransformAiming(FTransform *trans, player_t *player, boolean skybox);
 
 // Render stats
 ps_metric_t ps_hw_skyboxtime = {0};
@@ -5195,7 +5182,7 @@ static void HWR_DrawSkyBackground(player_t *player)
 		// software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly
 		// The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture
 
-		angle = (dup_viewangle + xtoviewangle[0]);
+		angle = (viewangle + xtoviewangle[0]);
 
 		dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->width/256.0f);
 
diff --git a/src/r_main.c b/src/r_main.c
index a8d5d4c984c82626b09967edc89cb80632164101..f1864a37e5f4fa7a31e56483f505c383dd878728 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -915,6 +915,7 @@ void R_ExecuteSetViewSize(void)
 	projection = projectiony = FixedDiv(centerxfrac, fovtan);
 
 	R_InitViewBuffer(viewwidth, viewheight);
+	R_SetFov(cv_fov.value);
 
 	// thing clipping
 	for (i = 0; i < viewwidth; i++)