diff --git a/common/rfb/Configuration.cxx b/common/rfb/Configuration.cxx
index d700522..8e1ea6e 100644
--- a/common/rfb/Configuration.cxx
+++ b/common/rfb/Configuration.cxx
@@ -88,7 +88,6 @@
         strncasecmp(current->getName(), name, len) == 0)
     {
       bool b = current->setParam(val);
-      current->setHasBeenSet(); 
       if (b && immutable) 
 	current->setImmutable();
       return b;
@@ -113,7 +112,6 @@
     while (current) {
       if (strcasecmp(current->getName(), config) == 0) {
         bool b = current->setParam();
-	current->setHasBeenSet(); 
         if (b && immutable) 
 	  current->setImmutable();
         return b;
@@ -182,7 +180,7 @@
 
 VoidParameter::VoidParameter(const char* name_, const char* desc_,
 			     ConfigurationObject co)
-  : immutable(false), _hasBeenSet(false), name(name_), description(desc_)
+  : immutable(false), name(name_), description(desc_)
 {
   Configuration *conf = NULL;
 
@@ -226,16 +224,6 @@
   immutable = true;
 }
 
-void
-VoidParameter::setHasBeenSet() {
-  _hasBeenSet = true;
-} 
-
-bool
-VoidParameter::hasBeenSet() {
-  return _hasBeenSet;
-}
-
 // -=- AliasParameter
 
 AliasParameter::AliasParameter(const char* name_, const char* desc_,
diff --git a/common/rfb/Configuration.h b/common/rfb/Configuration.h
index 4feeb78..da93fdd 100644
--- a/common/rfb/Configuration.h
+++ b/common/rfb/Configuration.h
@@ -165,8 +165,6 @@
     virtual bool isBool() const;
 
     virtual void setImmutable();
-    virtual void setHasBeenSet();
-    bool hasBeenSet();
 
   protected:
     friend class Configuration;
@@ -174,7 +172,6 @@
 
     VoidParameter* _next;
     bool immutable;
-    bool _hasBeenSet;
     const char* name;
     const char* description;
   };
