diff --git a/src/doomdef.h b/src/doomdef.h
index 51495eba34ecc95ea879d4aefafd93866982688f..928fd53db4730a11f4a2a0e1b1a54f790835bf2b 100644
--- a/src/doomdef.h
+++ b/src/doomdef.h
@@ -501,9 +501,6 @@ extern INT32 cv_debug;
 extern UINT8 shiftdown, ctrldown, altdown;
 extern boolean capslock;
 
-// WARNING: a should be unsigned but to add with 2048, it isn't!
-#define AIMINGTODY(a) (FINETANGENT((2048+(((INT32)a)>>ANGLETOFINESHIFT)) & FINEMASK)*160)
-
 // if we ever make our alloc stuff...
 #define ZZ_Alloc(x) Z_Malloc(x, PU_STATIC, NULL)
 #define ZZ_Calloc(x) Z_Calloc(x, PU_STATIC, NULL)
diff --git a/src/r_main.h b/src/r_main.h
index 4654f4d7279f088188ea2cb5d6cad25b095963dd..a624d8773a327f4b7e0dafe3ed23e8272ac778f8 100644
--- a/src/r_main.h
+++ b/src/r_main.h
@@ -26,6 +26,10 @@ extern INT32 centerx, centery;
 
 extern fixed_t centerxfrac, centeryfrac;
 extern fixed_t projection, projectiony;
+extern fixed_t fovtan;
+
+// WARNING: a should be unsigned but to add with 2048, it isn't!
+#define AIMINGTODY(a) FixedDiv((FINETANGENT((2048+(((INT32)a)>>ANGLETOFINESHIFT)) & FINEMASK)*160)>>FRACBITS, fovtan)
 
 extern size_t validcount, linecount, loopcount, framecount;