diff --git a/salt/utils/cache.py b/salt/utils/cache.py
index <HASH>..<HASH> 100644
--- a/salt/utils/cache.py
+++ b/salt/utils/cache.py
@@ -142,12 +142,10 @@ class CacheDisk(CacheDict):
         """
         if not salt.utils.msgpack.HAS_MSGPACK or not os.path.exists(self._path):
             return
-        try:
-            with salt.utils.files.fopen(self._path, "rb") as fp_:
-                cache = salt.utils.msgpack.load(fp_, encoding=__salt_system_encoding__)
-                cache = salt.utils.data.decode(cache)
-        except UnicodeDecodeError:
-            pass
+        with salt.utils.files.fopen(self._path, "rb") as fp_:
+            cache = salt.utils.msgpack.load(
+                fp_, encoding=__salt_system_encoding__, raw=False
+            )
         if "CacheDisk_cachetime" in cache:  # new format
             self._dict = cache["CacheDisk_data"]
             self._key_cache_time = cache["CacheDisk_cachetime"]
@@ -172,7 +170,7 @@ class CacheDisk(CacheDict):
                 "CacheDisk_data": self._dict,
                 "CacheDisk_cachetime": self._key_cache_time,
             }
-            salt.utils.msgpack.dump(cache, fp_, use_bin_type=True)
+            salt.utils.msgpack.dump(cache, fp_)
 
 
 class CacheCli:
make proper use of msgpack