diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c
index 5a3d6908152b0d653d462e39354b4a4607d28413..22fc83dd725d2154890f048234dc83994f4c1c99 100644
--- a/drivers/spi/ich.c
+++ b/drivers/spi/ich.c
@@ -563,7 +563,8 @@ static int ich_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	}
 
 	/* Clear atomic preop now that xfer is done */
-	ich_writew(ctlr, 0, ctlr->preop);
+	if (!lock)
+		ich_writew(ctlr, 0, ctlr->preop);
 
 	return 0;
 }