diff --git a/common/rfb/ServerCore.cxx b/common/rfb/ServerCore.cxx
index 59a7cff..b1097a3 100644
--- a/common/rfb/ServerCore.cxx
+++ b/common/rfb/ServerCore.cxx
@@ -101,8 +101,3 @@
 ("QueryConnect",
  "Prompt the local user to accept or reject incoming connections.",
  false);
-rfb::IntParameter rfb::Server::queryConnectTimeout
-("QueryConnectTimeout",
- "Number of seconds to show the Accept Connection dialog before "
- "rejecting the connection",
- 10);
diff --git a/common/rfb/ServerCore.h b/common/rfb/ServerCore.h
index 37923cc..f915c7a 100644
--- a/common/rfb/ServerCore.h
+++ b/common/rfb/ServerCore.h
@@ -49,7 +49,6 @@
     static BoolParameter sendCutText;
     static BoolParameter acceptSetDesktopSize;
     static BoolParameter queryConnect;
-    static IntParameter queryConnectTimeout;
 
   };
 
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index b183c05..d9bb281 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -71,7 +71,7 @@
 VNCSConnectionST::VNCSConnectionST(VNCServerST* server_, network::Socket *s,
                                    bool reverse)
   : sock(s), reverseConnection(reverse),
-    queryConnectTimer(this), inProcessMessages(false),
+    inProcessMessages(false),
     pendingSyncFence(false), syncFence(false), fenceFlags(0),
     fenceDataLen(0), fenceData(NULL),
     baseRTT(-1), congWindow(0), ackedOffset(0), sentOffset(0),
@@ -485,10 +485,8 @@
   CharArray reason;
   VNCServerST::queryResult qr = server->queryConnection(sock, userName,
                                                         &reason.buf);
-  if (qr == VNCServerST::PENDING) {
-    queryConnectTimer.start(rfb::Server::queryConnectTimeout * 1000);
+  if (qr == VNCServerST::PENDING)
     return;
-  }
 
   // - If server returns ACCEPT/REJECT then pass result to SConnection
   approveConnection(qr == VNCServerST::ACCEPT, reason.buf);
@@ -870,10 +868,6 @@
   try {
     if (t == &congestionTimer)
       updateCongestion();
-    else if (t == &queryConnectTimer) {
-      if (state() == RFBSTATE_QUERYING)
-        approveConnection(false, "The attempt to prompt the user to accept the connection failed");
-    }
   } catch (rdr::Exception& e) {
     close(e.str());
   }
diff --git a/common/rfb/VNCSConnectionST.h b/common/rfb/VNCSConnectionST.h
index 9b7b14b..42eb85a 100644
--- a/common/rfb/VNCSConnectionST.h
+++ b/common/rfb/VNCSConnectionST.h
@@ -185,8 +185,6 @@
     CharArray peerEndpoint;
     bool reverseConnection;
 
-    Timer queryConnectTimer;
-
     bool inProcessMessages;
 
     bool pendingSyncFence, syncFence;
