diff --git a/software/spi-ocores/drivers/spi/spi-ocores.c b/software/spi-ocores/drivers/spi/spi-ocores.c
index b879c1288a0372aef6e7a48ebe71d3cd6494acd3..1351d8f1021d2a6ee595723f9c664ffd842aa7a3 100644
--- a/software/spi-ocores/drivers/spi/spi-ocores.c
+++ b/software/spi-ocores/drivers/spi/spi-ocores.c
@@ -467,9 +467,11 @@ static int spi_ocores_sw_xfer_next_init(struct spi_ocores *sp)
 
 	ctrl = sp->ctrl_base;
 	if (sp->master->cur_msg->spi->mode & SPI_CPHA) {
-		ctrl |= SPI_OCORES_CTRL_Tx_NEG;
 		ctrl |= SPI_OCORES_CTRL_Rx_NEG;
 	}
+	else
+		ctrl |= SPI_OCORES_CTRL_Tx_NEG;	
+
 	if (sp->master->cur_msg->spi->mode & SPI_LSB_FIRST)
 		ctrl |= SPI_OCORES_CTRL_LSB;
 	ctrl |= nbits;