diff --git a/externals/mjlib/pin~.c b/externals/mjlib/pin~.c
index 78ae7239aa2dc7390c93bd4ed8c9863c28d9881c..51a6ba3f3ae52e9541b9e57fb93b880e5c5b1290 100644
--- a/externals/mjlib/pin~.c
+++ b/externals/mjlib/pin~.c
@@ -103,7 +103,7 @@ static void *pin_tilde_new(t_floatarg prob , t_floatarg tick)
 		prob = 0.5;
 	}
 	x->p_prob = prob;
-	x->p_normalized_prob = prob * RAND_MAX;
+	x->p_normalized_prob = (int)((double)prob * (double)RAND_MAX);
 	// set up our clocks
 	x->p_ticktime = tick;   
 	x->p_clock = clock_new(x, (t_method) pin_tilde_tick);