diff --git a/cpu/ppc4xx/serial.c b/cpu/ppc4xx/serial.c
index 7e684f4bc5403a2da03d7ebb9491ef38240e54b2..5a6af766ddf39d97dfceda6dad10ac9cf6a3ec0f 100644
--- a/cpu/ppc4xx/serial.c
+++ b/cpu/ppc4xx/serial.c
@@ -451,6 +451,8 @@ int serial_init (void)
 #else
 	tmp = CFG_BASE_BAUD * 16;
 	udiv = (clk + tmp / 2) / tmp;
+	if (udiv > 32)                          /* max. 5 bits for udiv */
+		udiv = 32;
 #endif
 #endif