diff --git a/sonic_platform_base/sonic_ssd/ssd_generic.py b/sonic_platform_base/sonic_ssd/ssd_generic.py
index 7c387816d..f280e91c3 100644
--- a/sonic_platform_base/sonic_ssd/ssd_generic.py
+++ b/sonic_platform_base/sonic_ssd/ssd_generic.py
@@ -124,12 +124,18 @@ def parse_innodisk_info(self):
         if self.vendor_ssd_info:
             self.health = self._parse_re('Health:\s*(.+?)%', self.vendor_ssd_info)
             self.temperature = self._parse_re('Temperature\s*\[\s*(.+?)\]', self.vendor_ssd_info)
-        else:
-            if self.health == NOT_AVAILABLE:
-                health_raw = self.parse_id_number(INNODISK_HEALTH_ID)
+        
+        if self.health == NOT_AVAILABLE:
+            health_raw = self.parse_id_number(INNODISK_HEALTH_ID)
+            if health_raw == NOT_AVAILABLE:
+                self.health = NOT_AVAILABLE
+            else:
                 self.health = health_raw.split()[-1]
-            if self.temperature == NOT_AVAILABLE:
-                temp_raw = self.parse_id_number(INNODISK_TEMPERATURE_ID)
+        if self.temperature == NOT_AVAILABLE:
+            temp_raw = self.parse_id_number(INNODISK_TEMPERATURE_ID)
+            if temp_raw == NOT_AVAILABLE:
+                self.temperature = NOT_AVAILABLE
+            else:
                 self.temperature = temp_raw.split()[-6]
 
     def parse_virtium_info(self):
diff --git a/tests/ssd_generic_test.py b/tests/ssd_generic_test.py
index 73e89281c..0cdf58406 100644
--- a/tests/ssd_generic_test.py
+++ b/tests/ssd_generic_test.py
@@ -389,7 +389,7 @@ def test_ssd_with_na_path(self):
     def test_Innodisk_ssd(self):
         # Test parsing Innodisk ssd info
         Innodisk_ssd = SsdUtil('/dev/sda')
-        assert(Innodisk_ssd.get_health() == 'N/A')
+        assert(Innodisk_ssd.get_health() == '0x000000000000')
         assert(Innodisk_ssd.get_model() == 'InnoDisk Corp. - mSATA 3ME')
         assert(Innodisk_ssd.get_firmware() == "S140714")
         assert(Innodisk_ssd.get_temperature() == 'N/A')
@@ -411,4 +411,14 @@ def test_Innodisk_missing_names_ssd(self):
         Innodisk_ssd.parse_vendor_ssd_info('InnoDisk')
         assert(Innodisk_ssd.get_health() == '94')
         assert(Innodisk_ssd.get_temperature() == '39')
+        
+    @mock.patch('sonic_platform_base.sonic_ssd.ssd_generic.SsdUtil._execute_shell', mock.MagicMock(return_value=output_Innodisk_missing_names_ssd))
+    def test_Innodisk_missing_names_ssd_2(self):
+        # Test parsing Innodisk ssd info
+        Innodisk_ssd = SsdUtil('/dev/sda')
+        Innodisk_ssd.vendor_ssd_info = 'ERROR message from cmd'
+        Innodisk_ssd.parse_vendor_ssd_info('InnoDisk')
+        assert(Innodisk_ssd.get_health() == '94')
+        assert(Innodisk_ssd.get_temperature() == '39')
+