diff --git a/net/bootp.c b/net/bootp.c
index e679f8b7f876e236bd7ec84b7218299c3bb82f57..1a717867d48885b479050909b43d1cba0b372fe7 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -456,6 +456,10 @@ static int DhcpExtended (u8 * e, int message_type, IPaddr_t ServerID, IPaddr_t R
 	*e++  = 42;
 	*cnt += 1;
 #endif
+	/* no options, so back up to avoid sending an empty request list */
+	if (*cnt == 0)
+		e -= 2;
+
 	*e++  = 255;		/* End of the list */
 
 	/* Pad to minimal length */