diff --git a/common/rfb/CConnection.cxx b/common/rfb/CConnection.cxx
index 696a124..e1c4ba5 100644
--- a/common/rfb/CConnection.cxx
+++ b/common/rfb/CConnection.cxx
@@ -25,6 +25,7 @@
 #include <rfb/CMsgReader.h>
 #include <rfb/CMsgWriter.h>
 #include <rfb/CSecurity.h>
+#include <rfb/Decoder.h>
 #include <rfb/Security.h>
 #include <rfb/SecurityClient.h>
 #include <rfb/CConnection.h>
@@ -547,7 +548,7 @@
   }
 
   if (encodingChange) {
-    writer()->writeSetEncodings(preferredEncoding, true);
+    updateEncodings();
     encodingChange = false;
   }
 
@@ -561,3 +562,77 @@
 
   forceNonincremental = false;
 }
+
+// Ask for encodings based on which decoders are supported.  Assumes higher
+// encoding numbers are more desirable.
+
+void CConnection::updateEncodings()
+{
+  int nEncodings = 0;
+  rdr::U32 encodings[encodingMax+3];
+
+  if (server.supportsLocalCursor) {
+    encodings[nEncodings++] = pseudoEncodingCursorWithAlpha;
+    encodings[nEncodings++] = pseudoEncodingCursor;
+    encodings[nEncodings++] = pseudoEncodingXCursor;
+  }
+  if (server.supportsDesktopResize)
+    encodings[nEncodings++] = pseudoEncodingDesktopSize;
+  if (server.supportsExtendedDesktopSize)
+    encodings[nEncodings++] = pseudoEncodingExtendedDesktopSize;
+  if (server.supportsDesktopRename)
+    encodings[nEncodings++] = pseudoEncodingDesktopName;
+  if (server.supportsLEDState)
+    encodings[nEncodings++] = pseudoEncodingLEDState;
+
+  encodings[nEncodings++] = pseudoEncodingLastRect;
+  encodings[nEncodings++] = pseudoEncodingContinuousUpdates;
+  encodings[nEncodings++] = pseudoEncodingFence;
+  encodings[nEncodings++] = pseudoEncodingQEMUKeyEvent;
+
+  if (Decoder::supported(preferredEncoding)) {
+    encodings[nEncodings++] = preferredEncoding;
+  }
+
+  encodings[nEncodings++] = encodingCopyRect;
+
+  /*
+   * Prefer encodings in this order:
+   *
+   *   Tight, ZRLE, Hextile, *
+   */
+
+  if ((preferredEncoding != encodingTight) &&
+      Decoder::supported(encodingTight))
+    encodings[nEncodings++] = encodingTight;
+
+  if ((preferredEncoding != encodingZRLE) &&
+      Decoder::supported(encodingZRLE))
+    encodings[nEncodings++] = encodingZRLE;
+
+  if ((preferredEncoding != encodingHextile) &&
+      Decoder::supported(encodingHextile))
+    encodings[nEncodings++] = encodingHextile;
+
+  // Remaining encodings
+  for (int i = encodingMax; i >= 0; i--) {
+    switch (i) {
+    case encodingCopyRect:
+    case encodingTight:
+    case encodingZRLE:
+    case encodingHextile:
+      /* These have already been sent earlier */
+      break;
+    default:
+      if ((i != preferredEncoding) && Decoder::supported(i))
+        encodings[nEncodings++] = i;
+    }
+  }
+
+  if (server.compressLevel >= 0 && server.compressLevel <= 9)
+      encodings[nEncodings++] = pseudoEncodingCompressLevel0 + server.compressLevel;
+  if (server.qualityLevel >= 0 && server.qualityLevel <= 9)
+      encodings[nEncodings++] = pseudoEncodingQualityLevel0 + server.qualityLevel;
+
+  writer()->writeSetEncodings(nEncodings, encodings);
+}
diff --git a/common/rfb/CConnection.h b/common/rfb/CConnection.h
index 5f953ae..56e6d14 100644
--- a/common/rfb/CConnection.h
+++ b/common/rfb/CConnection.h
@@ -201,6 +201,7 @@
     void securityCompleted();
 
     void requestNewUpdate();
+    void updateEncodings();
 
     rdr::InStream* is;
     rdr::OutStream* os;
diff --git a/common/rfb/CMsgWriter.cxx b/common/rfb/CMsgWriter.cxx
index 5585652..9fe431c 100644
--- a/common/rfb/CMsgWriter.cxx
+++ b/common/rfb/CMsgWriter.cxx
@@ -20,13 +20,11 @@
 #include <rdr/OutStream.h>
 #include <rfb/msgTypes.h>
 #include <rfb/fenceTypes.h>
-#include <rfb/encodings.h>
 #include <rfb/qemuTypes.h>
 #include <rfb/Exception.h>
 #include <rfb/PixelFormat.h>
 #include <rfb/Rect.h>
 #include <rfb/ServerParams.h>
-#include <rfb/Decoder.h>
 #include <rfb/CMsgWriter.h>
 
 using namespace rfb;
@@ -64,82 +62,6 @@
   endMsg();
 }
 
-// Ask for encodings based on which decoders are supported.  Assumes higher
-// encoding numbers are more desirable.
-
-void CMsgWriter::writeSetEncodings(int preferredEncoding, bool useCopyRect)
-{
-  int nEncodings = 0;
-  rdr::U32 encodings[encodingMax+3];
-
-  if (server->supportsLocalCursor) {
-    encodings[nEncodings++] = pseudoEncodingCursorWithAlpha;
-    encodings[nEncodings++] = pseudoEncodingCursor;
-    encodings[nEncodings++] = pseudoEncodingXCursor;
-  }
-  if (server->supportsDesktopResize)
-    encodings[nEncodings++] = pseudoEncodingDesktopSize;
-  if (server->supportsExtendedDesktopSize)
-    encodings[nEncodings++] = pseudoEncodingExtendedDesktopSize;
-  if (server->supportsDesktopRename)
-    encodings[nEncodings++] = pseudoEncodingDesktopName;
-  if (server->supportsLEDState)
-    encodings[nEncodings++] = pseudoEncodingLEDState;
-
-  encodings[nEncodings++] = pseudoEncodingLastRect;
-  encodings[nEncodings++] = pseudoEncodingContinuousUpdates;
-  encodings[nEncodings++] = pseudoEncodingFence;
-  encodings[nEncodings++] = pseudoEncodingQEMUKeyEvent;
-
-  if (Decoder::supported(preferredEncoding)) {
-    encodings[nEncodings++] = preferredEncoding;
-  }
-
-  if (useCopyRect) {
-    encodings[nEncodings++] = encodingCopyRect;
-  }
-
-  /*
-   * Prefer encodings in this order:
-   *
-   *   Tight, ZRLE, Hextile, *
-   */
-
-  if ((preferredEncoding != encodingTight) &&
-      Decoder::supported(encodingTight))
-    encodings[nEncodings++] = encodingTight;
-
-  if ((preferredEncoding != encodingZRLE) &&
-      Decoder::supported(encodingZRLE))
-    encodings[nEncodings++] = encodingZRLE;
-
-  if ((preferredEncoding != encodingHextile) &&
-      Decoder::supported(encodingHextile))
-    encodings[nEncodings++] = encodingHextile;
-
-  // Remaining encodings
-  for (int i = encodingMax; i >= 0; i--) {
-    switch (i) {
-    case encodingCopyRect:
-    case encodingTight:
-    case encodingZRLE:
-    case encodingHextile:
-      /* These have already been sent earlier */
-      break;
-    default:
-      if ((i != preferredEncoding) && Decoder::supported(i))
-        encodings[nEncodings++] = i;
-    }
-  }
-
-  if (server->compressLevel >= 0 && server->compressLevel <= 9)
-      encodings[nEncodings++] = pseudoEncodingCompressLevel0 + server->compressLevel;
-  if (server->qualityLevel >= 0 && server->qualityLevel <= 9)
-      encodings[nEncodings++] = pseudoEncodingQualityLevel0 + server->qualityLevel;
-
-  writeSetEncodings(nEncodings, encodings);
-}
-
 void CMsgWriter::writeSetDesktopSize(int width, int height,
                                      const ScreenSet& layout)
 {
diff --git a/common/rfb/CMsgWriter.h b/common/rfb/CMsgWriter.h
index 1f4b92d..26251e5 100644
--- a/common/rfb/CMsgWriter.h
+++ b/common/rfb/CMsgWriter.h
@@ -44,7 +44,6 @@
 
     void writeSetPixelFormat(const PixelFormat& pf);
     void writeSetEncodings(int nEncodings, rdr::U32* encodings);
-    void writeSetEncodings(int preferredEncoding, bool useCopyRect);
     void writeSetDesktopSize(int width, int height, const ScreenSet& layout);
 
     void writeFramebufferUpdateRequest(const Rect& r,bool incremental);
diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx
index 52a1113..d0490de 100644
--- a/common/rfb/SConnection.cxx
+++ b/common/rfb/SConnection.cxx
@@ -355,7 +355,8 @@
 
 void SConnection::clientInit(bool shared)
 {
-  writer_->writeServerInit();
+  writer_->writeServerInit(client.width(), client.height(),
+                           client.pf(), client.name());
   state_ = RFBSTATE_NORMAL;
 }
 
diff --git a/common/rfb/SMsgWriter.cxx b/common/rfb/SMsgWriter.cxx
index f4c968e..766b0cb 100644
--- a/common/rfb/SMsgWriter.cxx
+++ b/common/rfb/SMsgWriter.cxx
@@ -47,12 +47,13 @@
 {
 }
 
-void SMsgWriter::writeServerInit()
+void SMsgWriter::writeServerInit(rdr::U16 width, rdr::U16 height,
+                                 const PixelFormat& pf, const char* name)
 {
-  os->writeU16(client->width());
-  os->writeU16(client->height());
-  client->pf().write(os);
-  os->writeString(client->name());
+  os->writeU16(width);
+  os->writeU16(height);
+  pf.write(os);
+  os->writeString(name);
   endMsg();
 }
 
diff --git a/common/rfb/SMsgWriter.h b/common/rfb/SMsgWriter.h
index 2db147b..ddddb09 100644
--- a/common/rfb/SMsgWriter.h
+++ b/common/rfb/SMsgWriter.h
@@ -32,6 +32,7 @@
 namespace rfb {
 
   class ClientParams;
+  class PixelFormat;
   struct ScreenSet;
 
   class SMsgWriter {
@@ -41,7 +42,8 @@
 
     // writeServerInit() must only be called at the appropriate time in the
     // protocol initialisation.
-    void writeServerInit();
+    void writeServerInit(rdr::U16 width, rdr::U16 height,
+                         const PixelFormat& pf, const char* name);
 
     // Methods to write normal protocol messages
 
