diff --git a/secure/config.h b/secure/config.h
index 632cae6..643d91e 100644
--- a/secure/config.h
+++ b/secure/config.h
@@ -28,9 +28,6 @@
 #  define SSLPORT 4714
 #endif
 
-// undef to disable MSSP support.
-#define MSSP_SUPPORT "MSSP-Plaintext"
-
 // undef to disable support for pure-ftpd virtual users
 #define _PUREFTPD_
 
diff --git a/secure/login.c b/secure/login.c
index bda03b5..02cc0cd 100644
--- a/secure/login.c
+++ b/secure/login.c
@@ -291,21 +291,6 @@
         return 0;
     }
 
-    // Unterstuetzung fuer das Mud Server Status Protocol
-    // (http://tintin.sourceforge.net/mssp/)
-#ifdef MSSP_SUPPORT
-    if (str == "MSSP-REQUEST") {
-      "/secure/misc/mssp"->print_mssp_response();
-      log_file( "MSSP.log", sprintf( "%s: %-15s (%s)\n",
-                                         strftime("%c"),
-                                         query_ip_number(this_object()),
-                                         query_ip_name(this_object())||"N/A" ) );
-      input_to("logon2", INPUT_PROMPT,
-          "Wie heisst Du denn (\"neu\" fuer neuen Spieler)? ");
-      return 1;
-    }
-#endif
-
     if(strstr(str,SSL_GRRETING)==0)
     {
       if( member(PROXIES,query_ip_number(this_object()))>-1 )
