diff --git a/modules/caddyhttp/reverseproxy/fastcgi/client.go b/modules/caddyhttp/reverseproxy/fastcgi/client.go
index 18c9d0bae..b654bc840 100644
--- a/modules/caddyhttp/reverseproxy/fastcgi/client.go
+++ b/modules/caddyhttp/reverseproxy/fastcgi/client.go
@@ -157,13 +157,13 @@ func (c *client) Do(p map[string]string, req io.Reader) (r io.Reader, err error)
 	writer.recType = Stdin
 	if req != nil {
 		_, err = io.Copy(writer, req)
+		if err != nil {
+			return nil, err
+		}
 		// body length mismatch
 		if lr, ok := req.(*io.LimitedReader); ok && lr.N > 0 {
 			return nil, io.ErrUnexpectedEOF
 		}
-		if err != nil {
-			return nil, err
-		}
 	}
 	err = writer.FlushStream()
 	if err != nil {