diff --git a/common/link_emulator/link.c b/common/link_emulator/link.c
index a71417341912f00affd33a4d9ab782a045a1dd4c..80d24177f66fe84c73f68aaa198276a98ce6e032 100644
--- a/common/link_emulator/link.c
+++ b/common/link_emulator/link.c
@@ -306,10 +306,10 @@ void *run_forwarding(void *param)
 
 				if (rand() % 100 < corrupt2) {
 					// flip a second bit in the same byte
-					int random_bit2;
-					do {
-						random_bit2 = rand();
-					} while (random_bit2 == random_bit);
+					int random_bit2 = rand();
+					if(random_bit % 8 == random_bit2 % 8) {
+						random_bit2 += 1;
+					}
 					m->payload[random_byte] ^=
 						1 << (random_bit2 % 8);
 				}