diff --git a/Tools/PyUtils/bin/diffPoolFiles.py b/Tools/PyUtils/bin/diffPoolFiles.py
index 222bdc139d87bc737648f0e12537dec02c057b16..0591497957ade3e6df9b0859625a7580278329d3 100755
--- a/Tools/PyUtils/bin/diffPoolFiles.py
+++ b/Tools/PyUtils/bin/diffPoolFiles.py
@@ -37,6 +37,12 @@ if __name__ == "__main__":
                        dest = "verbose",
                        default = False,
                        help = "Switch to activate verbose printout" )
+    parser.add_option( "-s",
+                       "--strict",
+                       action  = "store_true",
+                       dest = "strict",
+                       default = False,
+                       help = "Compare both memSize and diskSize" )
 
 
     (options, args) = parser.parse_args()
@@ -60,6 +66,8 @@ if __name__ == "__main__":
     import PyUtils.PoolFile as PF
     diff = PF.DiffFiles( refFileName = refFileName,
                          chkFileName = chkFileName,
-                         verbose = options.verbose )
+                         verbose = options.verbose,
+                         strict = options.strict )
+    
     diff.printSummary()
     sys.exit(diff.status())
diff --git a/Tools/PyUtils/python/PoolFile.py b/Tools/PyUtils/python/PoolFile.py
index ea94557df3309337c18760ca6c6a97f382bcbff6..999b22f84fd4ad5764f2d31b4b04ed77c2c05ba7 100644
--- a/Tools/PyUtils/python/PoolFile.py
+++ b/Tools/PyUtils/python/PoolFile.py
@@ -967,10 +967,11 @@ class DiffFiles(object):
     terms of containers' content and containers' sizes
     """
 
-    def __init__(self, refFileName, chkFileName, verbose = False, ignoreList = None):
+    def __init__(self, refFileName, chkFileName, verbose = False, ignoreList = None, strict = False):
         object.__init__(self)
 
         self.verbose = verbose
+        self.strict = strict
         refFileName = os.path.expandvars( os.path.expanduser( refFileName ) )
         chkFileName = os.path.expandvars( os.path.expanduser( chkFileName ) )
 
@@ -1049,21 +1050,24 @@ class DiffFiles(object):
 
         if not self.allGood:
             self.summary += [ "=" * 80 ]
-        self.summary += [ "::: comparing common content (mem-size)..." ]
+        self.summary += [ "::: comparing common content (mem-size / disk-size)..." ]
 
         for name in commonContent:
             chkMemSize = self.chkFile.poolRecord(name).memSize
             refMemSize = self.refFile.poolRecord(name).memSize
-            if chkMemSize != refMemSize:
+            chkDiskSize = self.chkFile.poolRecord(name).diskSize
+            refDiskSize = self.refFile.poolRecord(name).diskSize
+
+            if chkMemSize != refMemSize or (self.strict and chkDiskSize != refDiskSize):
                 self.summary += [
-                    "[ERR] %12.3f kb (ref) ==> %12.3f kb (chk) | %s" % \
-                    ( refMemSize, chkMemSize, name )
+                    "[ERR] %12.3f / %12.3f kb (ref) ==> %12.3f / %12.3f kb (chk) | %s" % \
+                    ( refMemSize,refDiskSize,chkMemSize,chkDiskSize, name )
                     ]
                 self.allGood = False
             elif self.verbose:
                 self.summary += [
-                    " [OK] %12.3f kb                                 | %s" % \
-                    ( chkMemSize, name )
+                    " [OK] %12.3f/%12.3f kb                                 | %s" % \
+                    ( chkMemSize, chkDiskSize, name )
                     ]
 
         self.summary += [ "=" * 80 ]