diff --git a/java/src/com/tightvnc/vncviewer/VncCanvas.java b/java/src/com/tightvnc/vncviewer/VncCanvas.java
index 4cd82af..51761c0 100644
--- a/java/src/com/tightvnc/vncviewer/VncCanvas.java
+++ b/java/src/com/tightvnc/vncviewer/VncCanvas.java
@@ -164,6 +164,7 @@
     correDecoder = new CoRREDecoder(memGraphics, rfbis);
     hextileDecoder = new HextileDecoder(memGraphics, rfbis);
     tightDecoder = new TightDecoder(memGraphics, rfbis);
+    zlibDecoder = new ZlibDecoder(memGraphics, rfbis);
     zrleDecoder = new ZRLEDecoder(memGraphics, rfbis);
 
     //
@@ -379,6 +380,32 @@
       }
     }
 
+    //
+    // Update decoders
+    //
+
+    //
+    // FIXME: Why decoders can be null here?
+    //
+
+    if (decoders != null) {
+      for (int i = 0; i < decoders.length; i++) {
+        //
+        // Set changes to every decoder that we can use
+        //
+
+        decoders[i].setBPP(bytesPixel);
+        decoders[i].setFrameBufferSize(fbWidth, fbHeight);
+        decoders[i].setGraphics(memGraphics);
+
+        //
+        // Update decoder
+        //
+
+        decoders[i].update();
+      }
+    }
+
     // Images with raw pixels should be re-allocated on every change
     // of geometry or pixel format.
     if (bytesPixel == 1) {
