diff --git a/src/rng.h b/src/rng.h
index 95a3069..ba9fc12 100644
--- a/src/rng.h
+++ b/src/rng.h
@@ -1,6 +1,7 @@
 #pragma once
 
-#define RNG(L,H)  ((int)L + (int)((double)(H-L+1) * randfp())) /* L <= RNG <= H */
+#define RNG(L,H)       (((L)>(H)) ? RNG_SANE((H), (L)) : RNG_SANE((L),(H)))
+#define RNG_SANE(L,H)  ((int)L + (int)((double)(H-L+1) * randfp())) /* L <= RNG <= H */
 #define RNGF()  (randfp()) /* 0. <= RNGF <= 1. */
 
 void rng_init(void);