diff --git a/cabal-install/Distribution/Client/HttpUtils.hs b/cabal-install/Distribution/Client/HttpUtils.hs
index 5e116343d88859615464d7220212514b1054e293..092d8164f98ef311dbbb7596519d8dd098dd17f4 100644
--- a/cabal-install/Distribution/Client/HttpUtils.hs
+++ b/cabal-install/Distribution/Client/HttpUtils.hs
@@ -635,7 +635,7 @@ plainHttpTransport =
       (_, resp) <- cabalBrowse verbosity Nothing (request req)
       let code  = convertRspCode (rspCode resp)
           etag' = lookupHeader HdrETag (rspHeaders resp)
-      when (code==200) $
+      when (code==200 || code==206) $
         writeFileAtomic destPath $ rspBody resp
       return (code, etag')