diff --git a/rfb/CMsgHandler.h b/rfb/CMsgHandler.h
index 7a69f14..68e5e86 100644
--- a/rfb/CMsgHandler.h
+++ b/rfb/CMsgHandler.h
@@ -56,6 +56,8 @@
     virtual void imageRect(const Rect& r, void* pixels);
     virtual void copyRect(const Rect& r, int srcX, int srcY);
 
+    virtual bool processFTMsg(int type) = 0;
+
     ConnParams cp;
   };
 }
diff --git a/rfb/CMsgReaderV3.cxx b/rfb/CMsgReaderV3.cxx
index 5951981..b8242a0 100644
--- a/rfb/CMsgReaderV3.cxx
+++ b/rfb/CMsgReaderV3.cxx
@@ -58,6 +58,8 @@
     case msgTypeSetColourMapEntries: readSetColourMapEntries(); break;
     case msgTypeBell:                readBell(); break;
     case msgTypeServerCutText:       readServerCutText(); break;
+    case msgTypeFileListData:
+      handler->processFTMsg(type); break;
     default:
       fprintf(stderr, "unknown message type %d\n", type);
       throw Exception("unknown message type");
diff --git a/vncviewer/FileTransfer.cxx b/vncviewer/FileTransfer.cxx
index 937dd26..77ebe0a 100644
--- a/vncviewer/FileTransfer.cxx
+++ b/vncviewer/FileTransfer.cxx
@@ -69,7 +69,7 @@
 bool
 FileTransfer::processFTMsg(int type)
 {
-  if (m_bInitialized) return false;
+  if (!m_bInitialized) return false;
 
   switch (type)
   {
diff --git a/vncviewer/cview.cxx b/vncviewer/cview.cxx
index 5f5d02e..4701801 100644
--- a/vncviewer/cview.cxx
+++ b/vncviewer/cview.cxx
@@ -1705,3 +1705,7 @@
   return true;
 }
 
+bool CView::processFTMsg(int type)
+{
+  return m_fileTransfer.processFTMsg(type);
+}
\ No newline at end of file
diff --git a/vncviewer/cview.h b/vncviewer/cview.h
index 4bbf296..d0b3268 100644
--- a/vncviewer/cview.h
+++ b/vncviewer/cview.h
@@ -176,6 +176,8 @@
       // Global user-config registry key
       static RegKey userConfigKey;
 
+      bool processFTMsg(int type);
+
     protected:
 
       // Locally-rendered VNC cursor
