diff --git a/drivers/media/platform/imx8/mxc-jpeg.c b/drivers/media/platform/imx8/mxc-jpeg.c
index efa4cee94e4371295af133427e798f58460d72d7..08d4f92aa1dd054af30a5bbbfaadfb4d6b876f2f 100644
--- a/drivers/media/platform/imx8/mxc-jpeg.c
+++ b/drivers/media/platform/imx8/mxc-jpeg.c
@@ -367,6 +367,7 @@ static void mxc_jpeg_device_run(void *priv)
 
 	if (ctx->mode == MXC_JPEG_ENCODE) {
 		dev_dbg(dev, "Encoding on slot %d\n", slot);
+		mxc_jpeg_sw_reset(jpeg->base_reg);
 		ctx->enc_state = MXC_JPEG_ENC_CONF;
 		mxc_jpeg_config_enc(dst_buf, slot, jpeg);
 	} else {