diff --git a/testenv/Makefile.am b/testenv/Makefile.am
index ef4158aa..4c4b5753 100644
--- a/testenv/Makefile.am
+++ b/testenv/Makefile.am
@@ -73,6 +73,7 @@ endif
 
 if HAVE_PYTHON3
   TESTS = Test-504.py                               \
+    Test-416.py                                     \
     Test-auth-basic-fail.py                         \
     Test-auth-basic.py                              \
     Test-auth-basic-netrc.py                        \
diff --git a/testenv/Test-416.py b/testenv/Test-416.py
new file mode 100755
index 00000000..76b94213
--- /dev/null
+++ b/testenv/Test-416.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python3
+from sys import exit
+from test.http_test import HTTPTest
+from misc.wget_file import WgetFile
+
+"""
+    Ensure that Wget behaves well when the server responds with a HTTP 416
+    status code. This test checks both cases:
+        1. Server sends no body
+        2. Server sends a body
+"""
+############# File Definitions ###############################################
+File1 = "abababababababababababababababababababababababababababababababababab"
+File2 = "ababababababababababababababababababab"
+
+A_File = WgetFile ("File1", File1)
+B_File = WgetFile ("File1", File1)
+
+C_File = WgetFile ("File2", File2)
+D_File = WgetFile ("File2", File1)
+
+E_File = WgetFile ("File3", File1)
+
+WGET_OPTIONS = "-c"
+WGET_URLS = [["File1", "File2", "File3"]]
+
+Files = [[A_File, C_File, E_File]]
+Existing_Files = [B_File, D_File]
+
+ExpectedReturnCode = 0
+ExpectedDownloadedFiles = [B_File, D_File, E_File]
+
+################ Pre and Post Test Hooks #####################################
+pre_test = {
+    "ServerFiles"       : Files,
+    "LocalFiles"        : Existing_Files
+}
+test_options = {
+    "WgetCommands"      : WGET_OPTIONS,
+    "Urls"              : WGET_URLS
+}
+post_test = {
+    "ExpectedFiles"     : ExpectedDownloadedFiles,
+    "ExpectedRetcode"   : ExpectedReturnCode
+}
+
+err = HTTPTest (
+                pre_hook=pre_test,
+                test_params=test_options,
+                post_hook=post_test
+).begin ()
+
+exit (err)
diff --git a/testenv/server/http/http_server.py b/testenv/server/http/http_server.py
index ffc80ed3..434666dd 100644
--- a/testenv/server/http/http_server.py
+++ b/testenv/server/http/http_server.py
@@ -425,8 +425,16 @@ class _Handler(BaseHTTPRequestHandler):
             except ServerError as ae:
                 # self.log_error("%s", ae.err_message)
                 if ae.err_message == "Range Overflow":
+                    try:
+                        self.overflows += 1
+                    except AttributeError as s:
+                        self.overflows = 0
                     self.send_response(416)
+                    if self.overflows > 0:
+                        self.add_header("Content-Length", 17)
                     self.finish_headers()
+                    if self.overflows > 0:
+                        return("Range Unsatisfied", 0)
                     return(None, None)
                 else:
                     self.range_begin = None