diff --git a/vncviewer/CConn.cxx b/vncviewer/CConn.cxx
index d141e50..73597f5 100644
--- a/vncviewer/CConn.cxx
+++ b/vncviewer/CConn.cxx
@@ -677,20 +677,22 @@
 }
 
 void CConn::getUserPasswd(char** user, char** password) {
-/*
   if (!user && options.passwordFile.buf[0]) {
     FILE* fp = fopen(options.passwordFile.buf, "rb");
-    if (!fp) return false;
-    char data[256];
-    int datalen = fread(data, 1, 256, fp);
-    fclose(fp);
-    if (datalen != 8) return false;
-    vncAuthUnobfuscatePasswd(data);
-    *password = strDup(data);
-    memset(data, 0, strlen(data));
-    return true;
+    if (fp) {
+      char data[256];
+      int datalen = fread(data, 1, 256, fp);
+      fclose(fp);
+      if (datalen == 8) {
+	ObfuscatedPasswd obfPwd;
+	obfPwd.buf = data;
+	obfPwd.length  = datalen; 
+	PlainPasswd passwd(obfPwd);
+	*password = strDup(passwd.buf);
+	memset(data, 0, strlen(data));
+      }
+    }
   }
-*/
   if (user && options.userName.buf)
     *user = strDup(options.userName.buf);
   if (password && options.password.buf)
