diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 9626a363f1213604f6a53b29af1545a015a0b2c1..828d0975c270d190ac017e2306fca76a34c02d4d 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -1898,7 +1898,11 @@ static int io_issue_sqe(struct io_kiocb *req, unsigned int issue_flags)
 			io_req_complete_defer(req);
 		else
 			io_req_complete_post(req, issue_flags);
-	} else if (ret != IOU_ISSUE_SKIP_COMPLETE)
+
+		return 0;
+	}
+
+	if (ret != IOU_ISSUE_SKIP_COMPLETE)
 		return ret;
 
 	/* If the op doesn't have a file, we're not polling for it */