diff --git a/ffserver.c b/ffserver.c
index 0c293e6065dae643b7362cbbf6125872684e7fe6..4e746cb1af92793cbe4b4c5a9a9b56357e49e616 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -1355,6 +1355,9 @@ static int http_parse_request(HTTPContext *c)
         }
     }
 
+    if (c->post == 0 && stream->stream_type == STREAM_TYPE_LIVE)
+        current_bandwidth += stream->bandwidth;
+
     /* If already streaming this feed, do not let start another feeder. */
     if (stream->feed_opened) {
         snprintf(msg, sizeof(msg), "This feed is already being received.");
@@ -1362,9 +1365,6 @@ static int http_parse_request(HTTPContext *c)
         goto send_error;
     }
 
-    if (c->post == 0 && stream->stream_type == STREAM_TYPE_LIVE)
-        current_bandwidth += stream->bandwidth;
-
     if (c->post == 0 && max_bandwidth < current_bandwidth) {
         c->http_error = 200;
         q = c->buffer;