diff --git a/ikvm_server.cpp b/ikvm_server.cpp
index 35310da..ebeaef0 100644
--- a/ikvm_server.cpp
+++ b/ikvm_server.cpp
@@ -119,6 +119,12 @@
             continue;
         }
 
+        if (!cd->needUpdate)
+        {
+            continue;
+        }
+        cd->needUpdate = false;
+
         if (cl->enableLastRectEncoding)
         {
             fu->nRects = 0xFFFF;
@@ -149,6 +155,20 @@
     rfbReleaseClientIterator(it);
 }
 
+void Server::clientFramebufferUpdateRequest(
+    rfbClientPtr cl, rfbFramebufferUpdateRequestMsg *furMsg)
+{
+    ClientData *cd = (ClientData *)cl->clientData;
+
+    if (!cd)
+        return;
+
+    // Ignore the furMsg info. This service uses full frame update always.
+    (void)furMsg;
+
+    cd->needUpdate = true;
+}
+
 void Server::clientGone(rfbClientPtr cl)
 {
     Server* server = (Server*)cl->screen->screenData;
@@ -170,6 +190,7 @@
     cl->clientData =
         new ClientData(server->video.getFrameRate(), &server->input);
     cl->clientGoneHook = clientGone;
+    cl->clientFramebufferUpdateRequestHook = clientFramebufferUpdateRequest;
     if (!server->numClients++)
     {
         server->pendingResize = false;
diff --git a/ikvm_server.hpp b/ikvm_server.hpp
index b806201..ebe4ad2 100644
--- a/ikvm_server.hpp
+++ b/ikvm_server.hpp
@@ -32,6 +32,7 @@
          */
         ClientData(int s, Input* i) : skipFrame(s), input(i)
         {
+            needUpdate = false;
         }
         ~ClientData() = default;
         ClientData(const ClientData&) = default;
@@ -41,6 +42,7 @@
 
         int skipFrame;
         Input* input;
+        bool needUpdate;
     };
 
     /*
@@ -85,6 +87,15 @@
 
   private:
     /*
+     * @brief Handler for a client frame update message
+     *
+     * @param[in] cl - Handle to the client object
+     * @param[in] furMsg - Pointer of the FUR message
+     */
+    static void
+    clientFramebufferUpdateRequest(rfbClientPtr cl,
+                                   rfbFramebufferUpdateRequestMsg *furMsg);
+    /*
      * @brief Handler for a client disconnecting
      *
      * @param[in] cl - Handle to the client object
