diff --git a/lib/socketserver/GwSocketServer.cpp b/lib/socketserver/GwSocketServer.cpp
index d103a6a..4dfe897 100644
--- a/lib/socketserver/GwSocketServer.cpp
+++ b/lib/socketserver/GwSocketServer.cpp
@@ -151,15 +151,17 @@ GwSocketServer::GwSocketServer(const GwConfigHandler *config,GwLog *logger,int m
     this->config=config;
     this->logger=logger;
     this->minId=minId;
-    maxClients=config->getInt(config->maxClients);
-    allowReceive=config->getBool(config->readTCP);
+    maxClients=1;
+    allowReceive=false;
 }
 void GwSocketServer::begin(){
+    maxClients=config->getInt(config->maxClients);
+    allowReceive=config->getBool(config->readTCP);
     clients=new gwClientPtr[maxClients];
     for (int i=0;i<maxClients;i++){
         clients[i]=gwClientPtr(new GwClient(wiFiClientPtr(NULL),logger,i,allowReceive));
     }
-    server=new WiFiServer(config->getInt(config->serverPort),maxClients);
+    server=new WiFiServer(config->getInt(config->serverPort),maxClients+1);
     server->begin();
     logger->logString("Socket server created, port=%d",
         config->getInt(config->serverPort));
diff --git a/src/main.cpp b/src/main.cpp
index eb6204f..c55d24d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -871,8 +871,10 @@ void loop() {
     }
   }
   monitor.setTime(3);
+  //read sockets
   socketServer.loop(true,false);
   monitor.setTime(4);
+  //write sockets
   socketServer.loop(false,true);
   monitor.setTime(5);  
   usbSerial->loop(true);
diff --git a/web/config.json b/web/config.json
index af2cb81..6353bee 100644
--- a/web/config.json
+++ b/web/config.json
@@ -372,10 +372,10 @@
         "name": "maxClients",
         "label": "max. TCP clients",
         "type": "number",
-        "default": "10",
+        "default": "6",
         "check": "checkMinMax",
         "min": 0,
-        "max": 10,
+        "max": 6,
         "description": "the number of clients we allow to connect to us",
         "category": "TCP port"
     },
diff --git a/web/index.js b/web/index.js
index afd1ecb..cb65ac2 100644
--- a/web/index.js
+++ b/web/index.js
@@ -92,6 +92,20 @@ function resetForm(ev) {
                 let el = document.querySelector("[name='" + k + "']");
                 if (el) {
                     let v = jsonData[k];
+                    let def=getConfigDefition(k);
+                    if (def.check == 'checkMinMax'){
+                        //simple migration if the current value is outside the range
+                        //we even "hide" this from the user
+                        v=parseFloat(v);
+                        if (! isNaN(v)){
+                            if (def.min !== undefined){
+                                if (v < parseFloat(def.min)) v=parseFloat(def.min);
+                            }
+                            if (def.max !== undefined){
+                                if (v > parseFloat(def.max)) v=parseFloat(def.max);
+                            }
+                        }
+                    }
                     el.value = v;
                     el.setAttribute('data-loaded', v);
                     let changeEvent = new Event('change');