diff --git a/src/sys/sys_math.c b/src/sys/sys_math.c
index c085aea2..826273d3 100644
--- a/src/sys/sys_math.c
+++ b/src/sys/sys_math.c
@@ -13,14 +13,20 @@ f32 Math_ModF(f32 value, f32 mod) {
 }
 
 void Rand_Init(void) {
+#if defined(__SWITCH__) || defined(__linux__)
+    sRandSeed1 = (s32) osGetTime() % 30000 + 1;
+    sRandSeed2 = (s32) osGetTime() % 30000 + 1;
+    sRandSeed3 = (s32) osGetTime() % 30000 + 1;
+#else
     sRandSeed1 = (s32) osGetTime() % 30000;
     sRandSeed2 = (s32) osGetTime() % 30000;
     sRandSeed3 = (s32) osGetTime() % 30000;
+#endif
 }
 
 f32 Rand_ZeroOne(void) {
 #if defined(__SWITCH__) || defined(__linux__)
-    if (sRandSeed1 == sRandSeed2 == sRandSeed3 == 0){
+    if ((sRandSeed1 == 0) || (sRandSeed2 == 0) || (sRandSeed2 == 0)) {
         Rand_Init();
     }
 #endif