diff --git a/unix/vncpasswd/Makefile.am b/unix/vncpasswd/Makefile.am
index 00951be..7acc89f 100644
--- a/unix/vncpasswd/Makefile.am
+++ b/unix/vncpasswd/Makefile.am
@@ -7,6 +7,7 @@
 vncpasswd_CPPFLAGS = -I$(top_srcdir)/common
 
 vncpasswd_LDADD = $(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/rdr/librdr.la
+	$(top_builddir)/common/rdr/librdr.la \
+	$(top_builddir)/common/os/libos.la
 
 EXTRA_DIST = vncpasswd.man
diff --git a/unix/vncpasswd/vncpasswd.cxx b/unix/vncpasswd/vncpasswd.cxx
index d21ea94..4cdff57 100644
--- a/unix/vncpasswd/vncpasswd.cxx
+++ b/unix/vncpasswd/vncpasswd.cxx
@@ -23,6 +23,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
+#include <os/os.h>
 #include <rfb/Password.h>
 #include <rfb/util.h>
 
@@ -100,14 +101,16 @@
   }
 
   if (!fname) {
-    if (!getenv("HOME")) {
-      fprintf(stderr,"HOME is not set\n");
+    char *homeDir = NULL;
+    if (gethomedir(&homeDir) == -1) {
+      fprintf(stderr, "Can't obtain home directory\n");
       exit(1);
     }
-    fname = new char[strlen(getenv("HOME")) + 20];
-    sprintf(fname, "%s/.vnc", getenv("HOME"));
+    fname = new char[strlen(homeDir) + 20];
+    sprintf(fname, "%s/.vnc", homeDir);
     mkdir(fname, 0777);
-    sprintf(fname, "%s/.vnc/passwd", getenv("HOME"));
+    sprintf(fname, "%s/.vnc/passwd", homeDir);
+    delete [] homeDir;
   }
 
   while (true) {
diff --git a/unix/vncviewer/Makefile.am b/unix/vncviewer/Makefile.am
index cfbe430..32d5c6c 100644
--- a/unix/vncviewer/Makefile.am
+++ b/unix/vncviewer/Makefile.am
@@ -16,6 +16,7 @@
 	$(top_builddir)/common/rfb/librfb.la \
 	$(top_builddir)/common/network/libnetwork.la \
 	$(top_builddir)/common/rdr/librdr.la \
+	$(top_builddir)/common/os/libos.la \
 	@X_PRE_LIBS@ @X_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ @GNUTLS_LIBS@ # @LIBINTL@
 
 if INCLUDED_ZLIB
diff --git a/unix/vncviewer/vncviewer.cxx b/unix/vncviewer/vncviewer.cxx
index 80d65c5..9edb80d 100644
--- a/unix/vncviewer/vncviewer.cxx
+++ b/unix/vncviewer/vncviewer.cxx
@@ -31,6 +31,7 @@
 #include <errno.h>
 #include <signal.h>
 #include <locale.h>
+#include <os/os.h>
 #include <rfb/Logger_stdio.h>
 #include <rfb/LogWriter.h>
 #include <network/TcpSocket.h>
@@ -323,15 +324,17 @@
   }
 
   // Create .vnc in the user's home directory if it doesn't already exist
-  char* homeDir = getenv("HOME");
-  if (homeDir) {
+  char* homeDir = NULL;
+  if (gethomedir(&homeDir) == -1)
+    vlog.error("Could not create .vnc directory: can't obtain home directory path.");
+  else {
     CharArray vncDir(strlen(homeDir)+6);
     sprintf(vncDir.buf, "%s/.vnc", homeDir);
     int result =  mkdir(vncDir.buf, 0755);
     if (result == -1 && errno != EEXIST)
       vlog.error("Could not create .vnc directory: %s.", strerror(errno));
-  } else
-    vlog.error("Could not create .vnc directory: environment variable $HOME not set.");
+    delete [] homeDir;
+  }
 
   if (!::autoSelect.hasBeenSet()) {
     // Default to AutoSelect=0 if -PreferredEncoding or -FullColor is used
