diff --git a/lib/mathops.h b/lib/mathops.h
index a1a4f9df0eca81dfc10fe65a7c5e407499f456ba..2776dbd6dff54846ec31126464032eae6934ebb4 100644
--- a/lib/mathops.h
+++ b/lib/mathops.h
@@ -131,7 +131,7 @@ int oc_ilog64(ogg_int64_t _v);
  */
 # define OC_STATIC_ILOG_64(_v) (OC_STATIC_ILOG6((ogg_int64_t)(_v)))
 
-#define OC_Q57(_v) ((ogg_int64_t)(_v)<<57)
+#define OC_Q57(_v) ((_v)*((ogg_int64_t)1<<57))
 #define OC_Q10(_v) ((_v)<<10)
 
 ogg_int64_t oc_bexp64(ogg_int64_t _z);