diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 7469e59d49fb8fd3a2f36774bccf6084f32d4fbc..cc01604e6026bc90c52b4e91a615b1c837067b4b 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -253,8 +253,13 @@ static int dw_eth_init(struct eth_device *dev, bd_t *bis)
 
 	writel(FIXEDBURST | PRIORXTX_41 | DMA_PBL, &dma_p->busmode);
 
+#ifndef CONFIG_DW_MAC_FORCE_THRESHOLD_MODE
 	writel(readl(&dma_p->opmode) | FLUSHTXFIFO | STOREFORWARD,
 	       &dma_p->opmode);
+#else
+	writel(readl(&dma_p->opmode) | FLUSHTXFIFO,
+	       &dma_p->opmode);
+#endif
 
 	writel(readl(&dma_p->opmode) | RXSTART | TXSTART, &dma_p->opmode);