diff --git a/SystemInformation.cxx b/SystemInformation.cxx
index c7e97e92601682a72bb79c8148ca82756569397e..e60f2191b5b6c5eb050c593798ea3400aed97f71 100644
--- a/SystemInformation.cxx
+++ b/SystemInformation.cxx
@@ -125,7 +125,7 @@ public:
   void RunCPUCheck();
   void RunOSCheck();
   void RunMemoryCheck();
-private:
+public:
 #define VENDOR_STRING_LENGTH    (12 + 1)
 #define CHIPNAME_STRING_LENGTH    (48 + 1)
 #define SERIALNUMBER_STRING_LENGTH  (29 + 1)
@@ -389,15 +389,15 @@ unsigned long SystemInformation::GetAvailablePhysicalMemory()
 /** Run the different checks */
 void SystemInformation::RunCPUCheck()
 {
-  return this->Implementation->RunCPUCheck();
+  this->Implementation->RunCPUCheck();
 }
 void SystemInformation::RunOSCheck()
 {
-  return this->Implementation->RunOSCheck();
+  this->Implementation->RunOSCheck();
 }
 void SystemInformation::RunMemoryCheck()
 {
-  return this->Implementation->RunMemoryCheck();
+  this->Implementation->RunMemoryCheck();
 }
 
 
@@ -2947,7 +2947,7 @@ bool SystemInformationImplementation::QueryOSInformation()
         {
         this->OSRelease = "XP";
         }
-
+#ifdef VER_NT_WORKSTATION
       // Test for product type.
       if (bOsVersionInfoEx) 
         {
@@ -2990,8 +2990,9 @@ bool SystemInformationImplementation::QueryOSInformation()
 
         sprintf (operatingSystem, "%s(Build %d)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF);
         this->OSVersion = operatingSystem; 
-        } 
+        }
       else 
+#endif        // VER_NT_WORKSTATION
         {
         HKEY hKey;
         char szProductType[80];