diff --git a/tests/server/sws.c b/tests/server/sws.c
index a23cd9f42a4796194c9f54754ad04be535b6cf06..796806e7fdcbd945ebf478069295514bc0bfcc9e 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -262,6 +262,10 @@ static int get_request(int sock, int *part, int *open)
 
   if (offset >= REQBUFSIZ) {
     logmsg("Request buffer overflow, closing connection");
+    /* dump the request to an external file anyway */
+    reqbuf[REQBUFSIZ-1]=0;
+    storerequest(reqbuf);
+
     return DOCNUMBER_INTERNAL;
   }
   reqbuf[offset]=0;