diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index eb62edd..bba502b 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -85,7 +85,7 @@
   // coordinates relative to the right edge / bottom edge) at this
   // time.
   int geom_x = 0, geom_y = 0;
-  if (geometry.hasBeenSet()) {
+  if (strcmp(geometry, "") != 0) {
     int matched;
     matched = sscanf(geometry.getValueStr(), "+%d+%d", &geom_x, &geom_y);
     if (matched == 2) {
@@ -606,12 +606,12 @@
 
 void DesktopWindow::handleDesktopSize()
 {
-  if (desktopSize.hasBeenSet()) {
+  if (strcmp(desktopSize, "") != 0) {
     int width, height;
 
     // An explicit size has been requested
 
-    if (sscanf(desktopSize.getValueStr(), "%dx%d", &width, &height) != 2)
+    if (sscanf(desktopSize, "%dx%d", &width, &height) != 2)
       return;
 
     remoteResize(width, height);
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index 09c8b2f..4b989bb 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -496,27 +496,6 @@
       vncServerName[VNCSERVERNAMELEN - 1] = '\0';
     }
 
-  if (!::autoSelect.hasBeenSet()) {
-    // Default to AutoSelect=0 if -PreferredEncoding or -FullColor is used
-    if (::preferredEncoding.hasBeenSet() || ::fullColour.hasBeenSet() ||
-	::fullColourAlias.hasBeenSet()) {
-      ::autoSelect.setParam(false);
-    }
-  }
-  if (!::fullColour.hasBeenSet() && !::fullColourAlias.hasBeenSet()) {
-    // Default to FullColor=0 if AutoSelect=0 && LowColorLevel is set
-    if (!::autoSelect && (::lowColourLevel.hasBeenSet() ||
-                          ::lowColourLevelAlias.hasBeenSet())) {
-      ::fullColour.setParam(false);
-    }
-  }
-  if (!::customCompressLevel.hasBeenSet()) {
-    // Default to CustomCompressLevel=1 if CompressLevel is used.
-    if(::compressLevel.hasBeenSet()) {
-      ::customCompressLevel.setParam(true);
-    }
-  }
-
   mkvnchomedir();
 
   CSecurity::upg = &dlg;
