diff --git a/SystemInformation.cxx b/SystemInformation.cxx
index 6d66a1833c7a9ef6884b3c0cec1cdbdbb4b1832a..8defca61edfaeb79854e9819f8d86220fe566865 100644
--- a/SystemInformation.cxx
+++ b/SystemInformation.cxx
@@ -4188,12 +4188,12 @@ kwsys_stl::string SystemInformationImplementation::ParseValueFromKStat(const cha
 /** Querying for system information from Solaris */
 bool SystemInformationImplementation::QuerySolarisInfo()
 {
-  // Parse values
-  this->NumberOfPhysicalCPU = static_cast<unsigned int>(
-    atoi(this->ParseValueFromKStat("-n syste_misc -s ncpus").c_str()));
-  this->NumberOfLogicalCPU = this->NumberOfPhysicalCPU;
-  this->Features.ExtendedFeatures.LogicalProcessorsPerPhysical = 1;
+  if (!this->QueryProcessorBySysconf())
+    {
+    return false;
+    }
 
+  // Parse values
   this->CPUSpeedInMHz = static_cast<float>(atoi(this->ParseValueFromKStat("-s clock_MHz").c_str()));
 
   // Chip family