diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index d4ef86c5a49b9ac38e3604596166737515dc1ed5..d2c819c37093ffbeaa6156f6561d2ffb7db9df50 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -2067,7 +2067,7 @@ precise_t I_GetPreciseTime(void)
 
 int I_PreciseToMicros(precise_t d)
 {
-	return d / (timer_frequency / 1000000);
+	return (int)(d / (timer_frequency / 1000000.0));
 }
 
 //
@@ -2078,7 +2078,7 @@ void I_StartupTimer(void)
 	timer_frequency = SDL_GetPerformanceFrequency();
 	tic_epoch       = SDL_GetPerformanceCounter();
 
-	tic_frequency   = timer_frequency / NEWTICRATE;
+	tic_frequency   = timer_frequency / (double)NEWTICRATE;
 }
 
 void I_Sleep(void)