Index: includes/polling/os/windows.inc.php
===================================================================
--- includes/polling/os/windows.inc.php	(revision 8276)
+++ includes/polling/os/windows.inc.php	(working copy)
@@ -24,11 +24,14 @@
 // sysDescr.0 = STRING: Microsoft Windows CE Version 5.0 (Build 1400)
 // sysDescr.0 = STRING: Microsoft Windows CE Version 6.0 (Build 0)
 
-if (strstr($poll_device['sysDescr'], 'x86'))     { $hardware = 'Generic x86'; }
-if (strstr($poll_device['sysDescr'], 'ia64'))    { $hardware = 'Intel Itanium IA64'; }
-if (strstr($poll_device['sysDescr'], 'EM64'))    { $hardware = 'Intel x64'; }
-if (strstr($poll_device['sysDescr'], 'AMD64'))   { $hardware = 'AMD x64'; }
-if (strstr($poll_device['sysDescr'], 'Intel64')) { $hardware = 'Intel x64'; }
+if (!$hardware)
+{
+  if (strstr($poll_device['sysDescr'], 'x86'))     { $hardware = 'Generic x86'; }
+  if (strstr($poll_device['sysDescr'], 'ia64'))    { $hardware = 'Intel Itanium IA64'; }
+  if (strstr($poll_device['sysDescr'], 'EM64'))    { $hardware = 'Intel x64'; }
+  if (strstr($poll_device['sysDescr'], 'AMD64'))   { $hardware = 'AMD x64'; }
+  if (strstr($poll_device['sysDescr'], 'Intel64')) { $hardware = 'Intel x64'; }
+}
 
 if (preg_match('/Version ([\d\.]+) +\(Build (?:Number: )?(\d+)/', $poll_device['sysDescr'], $matches))
 {
Index: includes/polling/os/unix.inc.php
===================================================================
--- includes/polling/os/unix.inc.php	(revision 8276)
+++ includes/polling/os/unix.inc.php	(working copy)
@@ -80,8 +80,11 @@
         $serial = $entPhysical['entPhysicalSerialNum'];
       }
     }
-
-    $hardware = rewrite_unix_hardware($poll_device['sysDescr'], $hw);
+    
+    if (!$hardware)
+    {
+      $hardware = rewrite_unix_hardware($poll_device['sysDescr'], $hw);
+    }
     break;
 
   case 'aix':