diff --git a/vncviewer/CMakeLists.txt b/vncviewer/CMakeLists.txt
index b08e421..5ea0ab4 100644
--- a/vncviewer/CMakeLists.txt
+++ b/vncviewer/CMakeLists.txt
@@ -3,6 +3,7 @@
 
 include_directories(${CMAKE_SOURCE_DIR}/common)
 set(VNCVIEWER_SOURCES
+  buildTime.cxx
   CConn.cxx
   DesktopWindow.cxx
   UserDialog.cxx
diff --git a/vncviewer/buildTime.cxx b/vncviewer/buildTime.cxx
new file mode 100644
index 0000000..9f37b38
--- /dev/null
+++ b/vncviewer/buildTime.cxx
@@ -0,0 +1,18 @@
+/* Copyright (C) 2005 RealVNC Ltd.  All Rights Reserved.
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+const char* buildTime = "Built on " __DATE__ " at " __TIME__;
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index 7b9434f..4c7e212 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -64,6 +64,7 @@
 using namespace std;
 
 static char aboutText[1024];
+extern const char* buildTime;
 
 static bool exitMainloop = false;
 static const char *exitError = NULL;
@@ -185,7 +186,8 @@
   const char* vncServerName = NULL;
   UserDialog dlg;
 
-  const char englishAbout[] = N_("TigerVNC Viewer version %s\n"
+  const char englishAbout[] = N_("TigerVNC Viewer %d-bit v%s (%s)\n"
+                                 "%s\n"
                                  "Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)\n"
                                  "See http://www.tigervnc.org for information on TigerVNC.");
 
@@ -197,7 +199,8 @@
 
   // Write about text to console, still using normal locale codeset
   snprintf(aboutText, sizeof(aboutText),
-           gettext(englishAbout), PACKAGE_VERSION);
+           gettext(englishAbout), (int)sizeof(size_t)*8, PACKAGE_VERSION,
+           __BUILD__, buildTime);
   fprintf(stderr,"\n%s\n", aboutText);
 
   // Set gettext codeset to what our GUI toolkit uses. Since we are
@@ -208,7 +211,8 @@
 
   // Re-create the aboutText for the GUI, now using GUI codeset
   snprintf(aboutText, sizeof(aboutText),
-           gettext(englishAbout), PACKAGE_VERSION);
+           gettext(englishAbout), (int)sizeof(size_t)*8, PACKAGE_VERSION,
+           __BUILD__, buildTime);
 
   rfb::initStdIOLoggers();
   rfb::LogWriter::setLogParams("*:stderr:30");
