diff --git a/server/libvncserver/rfbserver.c b/server/libvncserver/rfbserver.c
index 2d143fa..9c7011a 100644
--- a/server/libvncserver/rfbserver.c
+++ b/server/libvncserver/rfbserver.c
@@ -1522,7 +1522,8 @@ rfbSendBell(rfbScreenInfoPtr rfbScreen)
 
 
 /*
- * rfbSendServerCutText sends a ServerCutText message to all the clients.
+ * rfbSendServerCutText sends a ServerCutText message to all the 
+ * authenticated clients.
  */
 
 void
@@ -1534,6 +1535,10 @@ rfbSendServerCutText(rfbScreenInfoPtr rfbScreen,char *str, int len)
 
     iterator = rfbGetClientIterator(rfbScreen);
     while ((cl = rfbClientIteratorNext(iterator)) != NULL) {
+
+        if (cl->state != RFB_NORMAL)  /* Client is not authenticated, ignore */
+                continue;
+
         sct.type = rfbServerCutText;
         sct.length = Swap32IfLE(len);
         if (WriteExact(cl, (char *)&sct,
