diff --git a/methods/http.cc b/methods/http.cc
index 357ae697691eeee880c82370b8e18eb8901733b8..16aaffc7554067ebb9816edbf44abbb170f38b2a 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -841,13 +841,6 @@ ResultState HttpServerState::Go(bool ToFile, RequestState &Req)
 	 return Die(Req);
    }
 
-   if (ServerFd->Fd() != -1 && FD_ISSET(ServerFd->Fd(), &wfds))
-   {
-      errno = 0;
-      if (Out.Write(ServerFd) == false)
-	 return Die(Req);
-   }
-
    // Send data to the file
    if (FileFD->Fd() != -1 && FD_ISSET(FileFD->Fd(), &wfds))
    {
@@ -858,6 +851,13 @@ ResultState HttpServerState::Go(bool ToFile, RequestState &Req)
       }
    }
 
+   if (ServerFd->Fd() != -1 && FD_ISSET(ServerFd->Fd(), &wfds))
+   {
+      errno = 0;
+      if (Out.Write(ServerFd) == false)
+	 return Die(Req);
+   }
+
    if (Req.MaximumSize > 0 && Req.File.IsOpen() && Req.File.Failed() == false && Req.File.Tell() > Req.MaximumSize)
    {
       Owner->SetFailReason("MaximumSizeExceeded");