diff --git a/drivers/net/rswitch.c b/drivers/net/rswitch.c
index 8e1b6e2f6f6a21d27b74e7bb8b8e8feab850cfb3..97b5d1b75c1ea4128dd0e1333582a85a9c42457a 100644
--- a/drivers/net/rswitch.c
+++ b/drivers/net/rswitch.c
@@ -837,6 +837,7 @@ static int rswitch_send(struct udevice *dev, void *packet, int len)
 
 	/* Update TX descriptor */
 	rswitch_flush_dcache((uintptr_t)packet, len);
+	rswitch_invalidate_dcache((uintptr_t)desc, sizeof(*desc));
 	memset(desc, 0x0, sizeof(*desc));
 	desc->die_dt = DT_FSINGLE;
 	desc->info_ds = len;