diff --git a/src/xpdev/genwrap.c b/src/xpdev/genwrap.c
index b9851d7f295c29a290ae7d5f4b2d4f66f6406098..bf668eeb66ed96e0b8abd61e4130038c5517799d 100644
--- a/src/xpdev/genwrap.c
+++ b/src/xpdev/genwrap.c
@@ -515,8 +515,8 @@ long double	DLLCALL	xp_timer(void)
 		ret /= ((long double)freq.HighPart*4294967296)+((long double)freq.LowPart);
 #else
 		/* In MSVC, a long double does NOT have 19 decimals of precision */
-		ret=((long long int)(tick.QuadPart/freq.QuadPart))
-				+(((long double)(tick.QuadPart%freq.QuadPart))/freq.QuadPart);
+		ret=(((long double)(tick.QuadPart%freq.QuadPart))/freq.QuadPart);
+		ret+=((long long int)(tick.QuadPart/freq.QuadPart))
 #endif
 	}
 	else {