diff --git a/unix/xserver/hw/vnc/Input.cc b/unix/xserver/hw/vnc/Input.cc
index c8b892a..f2c8bee 100644
--- a/unix/xserver/hw/vnc/Input.cc
+++ b/unix/xserver/hw/vnc/Input.cc
@@ -160,8 +160,6 @@
 	ValuatorMask mask;
 #endif
 
-	initInputDevice();
-
 	for (i = 0; i < BUTTONS; i++) {
 		if ((buttonMask ^ oldButtonMask) & (1 << i)) {
 			int action = (buttonMask & (1<<i)) ?
@@ -199,8 +197,6 @@
 	if (pos.equals(cursorPos))
 		return;
 
-	initInputDevice();
-
 	valuators[0] = pos.x;
 	valuators[1] = pos.y;
 #if XORG < 110
@@ -287,7 +283,7 @@
 	return Success;
 }
 
-void InputDevice::initInputDevice(void)
+void InputDevice::InitInputDevice(void)
 {
 #if XORG >= 17
 	int ret;
@@ -612,8 +608,6 @@
 	KeybdCtrl ctrl;
 #endif
 
-	initInputDevice();
-
 	/* 
 	 * Since we are checking the current state to determine if we need
 	 * to fake modifiers, we must make sure that everything put on the
diff --git a/unix/xserver/hw/vnc/Input.h b/unix/xserver/hw/vnc/Input.h
index dbc78f8..fb01bce 100644
--- a/unix/xserver/hw/vnc/Input.h
+++ b/unix/xserver/hw/vnc/Input.h
@@ -55,17 +55,19 @@
 
 	void KeyboardPress(rdr::U32 keysym) { keyEvent(keysym, true); }
 	void KeyboardRelease(rdr::U32 keysym) { keyEvent(keysym, false); }
-private:
+
 	/*
 	 * Init input device. This cannot be done in the constructor
 	 * because constructor is called during X server extensions
 	 * initialization. Devices must be initialized after core
 	 * pointer/keyboard initialization which is actually after extesions
 	 * initialization. Check InitExtensions(), InitCoreDevices() and
-	 * InitInput() calls in dix/main.c
+         * InitInput() calls in dix/main.c. Instead it is called from
+         * XserverDesktop at an appropriate time.
 	 */
-	void initInputDevice(void);
+	void InitInputDevice(void);
 
+private:
 	void keyEvent(rdr::U32 keysym, bool down);
 
 	rfb::VNCServerST *server;
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index e777bd3..3ef6f25 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -576,6 +576,12 @@
 
 void XserverDesktop::blockHandler(fd_set* fds, OSTimePtr timeout)
 {
+  // We don't have a good callback for when we can init input devices[1],
+  // so we abuse the fact that this routine will be called first thing
+  // once the dix is done initialising.
+  // [1] Technically Xvnc has InitInput(), but libvnc.so has nothing.
+  inputDevice->InitInputDevice();
+
   try {
     int nextTimeout;
 
