diff --git a/unix/x0vncserver/x0vncserver.cxx b/unix/x0vncserver/x0vncserver.cxx
index d3042db..b844a53 100644
--- a/unix/x0vncserver/x0vncserver.cxx
+++ b/unix/x0vncserver/x0vncserver.cxx
@@ -163,8 +163,8 @@
   XDesktop(Display* dpy_, Geometry *geometry_)
     : dpy(dpy_), geometry(geometry_), pb(0), server(0),
       oldButtonMask(0), haveXtest(false), haveDamage(false),
-      haveXfixes(false),  maxButtons(0), running(false),
-      ledMasks(), ledState(0), codeMap(0), codeMapLen(0)
+      maxButtons(0), running(false), ledMasks(), ledState(0),
+      codeMap(0), codeMapLen(0)
   {
     int major, minor;
 
@@ -257,7 +257,8 @@
     int xfixesErrorBase;
 
     if (XFixesQueryExtension(dpy, &xfixesEventBase, &xfixesErrorBase)) {
-      haveXfixes = true;
+      XFixesSelectCursorInput(dpy, DefaultRootWindow(dpy),
+                              XFixesDisplayCursorNotifyMask);
     } else {
 #endif
       vlog.info("XFIXES extension not present");
@@ -305,13 +306,6 @@
     }
 #endif
 
-#ifdef HAVE_XFIXES
-    if (haveXfixes) {
-      XFixesSelectCursorInput(dpy, DefaultRootWindow(dpy),
-                              XFixesDisplayCursorNotifyMask);
-    }
-#endif
-
     server->setLEDState(ledState);
 
     running = true;
@@ -531,7 +525,6 @@
   int oldButtonMask;
   bool haveXtest;
   bool haveDamage;
-  bool haveXfixes;
   int maxButtons;
   std::map<KeySym, KeyCode> pressedKeys;
   bool running;
