diff --git a/tests/server/sws.c b/tests/server/sws.c
index 7c3ba4f7d516c1e003c28575d7f3efbd9dd7f5f1..d4e6cc99664fa9d7e6ab75b8f26f409c0a2e98eb 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -760,7 +760,7 @@ int main(int argc, char *argv[])
 
   if (CURL_SOCKET_BAD == sock) {
     logmsg("Error opening socket: %d", errno);
-    exit(1);
+    return 1;
   }
 
   flag = 1;
@@ -768,7 +768,7 @@ int main(int argc, char *argv[])
             (void *) &flag, sizeof(flag))) {
     logmsg("setsockopt(SO_REUSEADDR) failed: %d", errno);
     sclose(sock);
-    exit(1);
+    return 1;
   }
 
 #ifdef ENABLE_IPV6
@@ -792,7 +792,7 @@ int main(int argc, char *argv[])
   if(0 != rc) {
     logmsg("Error binding socket: %d", errno);
     sclose(sock);
-    exit(1);
+    return 1;
   }
 
   pidfile = fopen(pidname, "w");
@@ -803,7 +803,7 @@ int main(int argc, char *argv[])
   else {
     fprintf(stderr, "Couldn't write pid file\n");
     sclose(sock);
-    exit(1);
+    return 1;
   }
 
   logmsg("Running IPv%d version on port %d",
@@ -819,7 +819,7 @@ int main(int argc, char *argv[])
   if(0 != rc) {
     logmsg("listen() failed with error: %d", errno);
     sclose(sock);
-    exit(1);
+    return 1;
   }
 
   while (1) {
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c
index 26f52f23a2c18c2f151eec10aa4184363753525e..2cb45b92391df9c411e8a019baaa29da445abc0a 100644
--- a/tests/server/tftpd.c
+++ b/tests/server/tftpd.c
@@ -475,7 +475,7 @@ int main(int argc, char **argv)
   if (sock < 0) {
     perror("opening stream socket");
     logmsg("Error opening socket");
-    exit(1);
+    return 1;
   }
 
   flag = 1;
@@ -505,7 +505,7 @@ int main(int argc, char **argv)
   if(rc < 0) {
     perror("binding stream socket");
     logmsg("Error binding socket");
-    exit(1);
+    return 1;
   }
 
   pidfile = fopen(pidname, "w");