diff --git a/tests/test_opus_decode.c b/tests/test_opus_decode.c
index 9c0eb9c72858d5a8f4dc4da6b9f31eb2caebc41e..5ab16acc9310a521ce334b10cd6bc6b884fe755f 100644
--- a/tests/test_opus_decode.c
+++ b/tests/test_opus_decode.c
@@ -436,7 +436,7 @@ int main(int _argc, char **_argv)
       iseed=atoi(env_seed);
       env_used=1;
    }
-   else iseed=(opus_uint32)time(NULL)^((getpid()&65535)<<16);
+   else iseed=(opus_uint32)time(NULL)^(((opus_uint32)getpid()&65535)<<16);
    Rw=Rz=iseed;
 
    oversion=opus_get_version_string();
diff --git a/tests/test_opus_encode.c b/tests/test_opus_encode.c
index 132d074d3025456f9d2297e7988e85ac51610b85..705e70bcaf23579440099c05f9032f22b2907ca5 100644
--- a/tests/test_opus_encode.c
+++ b/tests/test_opus_encode.c
@@ -490,7 +490,7 @@ int main(int _argc, char **_argv)
       iseed=atoi(env_seed);
       env_used=1;
    }
-   else iseed=(opus_uint32)time(NULL)^((getpid()&65535)<<16);
+   else iseed=(opus_uint32)time(NULL)^(((opus_uint32)getpid()&65535)<<16);
    Rw=Rz=iseed;
 
    oversion=opus_get_version_string();