diff --git a/common/rfb/SMsgWriter.cxx b/common/rfb/SMsgWriter.cxx
index 085dfc1..f3079ee 100644
--- a/common/rfb/SMsgWriter.cxx
+++ b/common/rfb/SMsgWriter.cxx
@@ -114,9 +114,9 @@
   return encoders[encoding]->getNumRects(r);
 }
 
-// FIXME: This functions does not compute the number of rectangles correctly
-//        if the Tight encoder is used (but currently that does not matter
-//        because this function is never used).
+// FIXME: This functions is not used because it incorrectly computes
+//        the number of rectangles if the Tight encoder is used.
+/*
 void SMsgWriter::writeFramebufferUpdate(const UpdateInfo& ui, ImageGetter* ig,
                                         Region* updatedRegion)
 {
@@ -124,6 +124,7 @@
   writeRects(ui, ig, updatedRegion);
   writeFramebufferUpdateEnd();
 }
+*/
 
 void SMsgWriter::writeRects(const UpdateInfo& ui, ImageGetter* ig,
                             Region* updatedRegion)
diff --git a/common/rfb/SMsgWriter.h b/common/rfb/SMsgWriter.h
index ed8ad0e..d4c5bf8 100644
--- a/common/rfb/SMsgWriter.h
+++ b/common/rfb/SMsgWriter.h
@@ -94,8 +94,13 @@
     // UpdateInfo and ImageGetter.  On a V3 writer this may have
     // pseudo-rectangles for setDesktopSize and setCursor added to it, and so
     // may invoke writeSetCursorCallback().
+    //
+    // FIXME: This functions is not used because it incorrectly computes
+    //        the number of rectangles if the Tight encoder is used.
+    /*
     virtual void writeFramebufferUpdate(const UpdateInfo& ui, ImageGetter* ig,
                                         Region* updatedRegion);
+    */
 
     // writeRects() accepts an UpdateInfo (changed & copied regions) and an
     // ImageGetter to fetch pixels from.  It then calls writeCopyRect() and
