diff --git a/Script/cs/Tools/ConfigParser.py b/Script/cs/Tools/ConfigParser.py
index 6d642ed73374e4e19f79863c1ede03a74b44df51..4ab6910a5dd0dc1c1f11d89d6281af21be52e555 100644
--- a/Script/cs/Tools/ConfigParser.py
+++ b/Script/cs/Tools/ConfigParser.py
@@ -179,9 +179,22 @@ class ConfigHolder(object):
                 self.ISCpuStatsEnabled = cfg.ISCpuStatsEnabled
             except AttributeError: pass
             try: # Publish storage devices I/O stats for ISStorageIoStatsDevices
-                self.ISStorageIoStatsDevices = [d for d in cfg.ISStorageIoStatsDevices]
-            except AttributeError: pass
-
+                # psutil.disk_io_counters() returns a dictionary where keys are
+                # device names
+                for d in cfg.ISStorageIoStatsDevices:
+                    dd = d
+                    if os.path.islink(d):
+                        # resolve link
+                        dd = os.path.basename(
+                                os.path.abspath(
+                                os.path.join(
+                                os.path.dirname(d),
+                                os.readlink(d))))
+                    elif os.path.isabs(d):
+                        dd = os.path.basename(d)
+                    self.ISStorageIoStatsDevices.append(dd)
+            except AttributeError:
+                print('TINTIN')
 
         # METADATA DATABASE
 
diff --git a/UnitTests/ConfigParser_Test.py b/UnitTests/ConfigParser_Test.py
index 15067f7ec959baa81abd000168d9c0a284e0f798..309859d0ae8c84e1dd1b767f002ea6229d69b7b4 100644
--- a/UnitTests/ConfigParser_Test.py
+++ b/UnitTests/ConfigParser_Test.py
@@ -2,6 +2,7 @@ import unittest
 import os
 import re
 import logging
+import tempfile
 
 if __name__ == '__main__':
     import sys
@@ -235,5 +236,22 @@ class TestConfigHolder(unittest.TestCase):
         del self.c.__dict__[p]
 
 
+    def test_storage_iostats_devices(self):
+        with open(os.path.join(TestConfigHolder.config_path, 'minimal.cfg')) as mini:
+            config = mini.readlines()
+        with tempfile.TemporaryDirectory() as tmpd:
+            # modif config and write file
+            config.append('ISEnabled: True\n')
+            config.append(f"ISStorageIoStatsDevices: ['sd0', '/dev/sd1', '{tmpd}/linktosd2']\n")
+            with open(f'{tmpd}/cfg', 'w') as cfgfile:
+                cfgfile.write(''.join(config))
+            # create mock device file and symlink
+            with open(f'{tmpd}/sd2', 'w'): pass
+            os.symlink(f'{tmpd}/sd2', f'{tmpd}/linktosd2')
+            # test
+            self.c = ConfigParser.ConfigHolder(f'{tmpd}/cfg')
+            self.assertEqual(self.c.ISStorageIoStatsDevices, ['sd0', 'sd1', 'sd2'])
+
+
 if __name__ == '__main__':
     unittest.main()