diff --git a/hash_longterm.py b/hash_longterm.py
index 68f75606fef6a20b539e4007cc9ba047658f5d76..58c2c72db75e663641046db6e550248862f2f7c5 100644
--- a/hash_longterm.py
+++ b/hash_longterm.py
@@ -74,12 +74,31 @@ if __name__ == "__main__":
     time.sleep(120)
     # create hash
     print(colored(log(f"[Hash-Longtermstudy] The hash prior to the deletion is {drive_handle.generate_hash()}"), "light_blue"))
+
+    # remember cluster for DRAT check
+    compare_cluster_number: int = drive_handle.get_clusters_for_file(f'{drive_handle.get_path()}demo\\t5\\000503.text')[0]
+    compare_cluster_values: bytes = drive_handle.read_cluster(compare_cluster_number)
+
     # delete data
     drive_handle.remove_demo_files()
     # flush the cache
     drive_handle.flush_cache()
     # set drive to read only
     drive_handle.set_read_only(True)
+
+    # check for DRAT
+    print(colored(f"[Hash-Longtermstudy] Testing for DRAT/DZAT.", "light_grey"))
+    cluster_values: bytes = drive_handle.read_cluster(compare_cluster_number)
+    if (cluster_values != compare_cluster_values):
+        # DRAT or DZAT
+        print(colored(f"[Hash-Longtermstudy] Cluster {compare_cluster_number} read a different value immediately after deletion. DRAT or DZAT is likely.", "yellow"))
+        print(colored("[Hash-Longtermstudy] SSD usage likely due to DRAT/DZAT. Skipping test.", "red"))
+        drive_handle.set_read_only(False)
+        # SSD usage likely
+        pass
+    else:
+        print(colored("[Hash-Longtermstudy] No DRAT/DZAT detected.", "yellow"))
+
     # repeadetly create the hash
     prior_hash: str = None
     iteration = 0
diff --git a/src/tests/hash_test.py b/src/tests/hash_test.py
index e4f6f01e6f0447a45cb076ccd91eaab7507294bf..e25e882f20984676681ecdb7fe09562122ed677c 100644
--- a/src/tests/hash_test.py
+++ b/src/tests/hash_test.py
@@ -23,10 +23,31 @@ class HashTest(DecisionTest):
         self._drive_handle.flush_cache()
         time.sleep(120)
         print(colored(f"[HashTest] The current hash of the drive is equal to {self._drive_handle.generate_hash()}", "yellow"))
+
+        # remember a cluster of a random file
+        # if the cluster is set to zero immediately after deletion,
+        # the likelyhood of DRAT or DZAT is very high
+        compare_cluster_number: int = self._drive_handle.get_clusters_for_file(f'{self._drive_handle.get_path()}demo\\t5\\000503.text')[0]
+        compare_cluster_values: bytes = self._drive_handle.read_cluster(compare_cluster_number)
+
         print(colored("[HashTest] Deleting the demo files.", 'light_grey'))
         self._drive_handle.remove_demo_files()
         self._drive_handle.flush_cache()
         self._drive_handle.set_read_only(True)
+
+        # check for DRAT or DZAT
+        print(colored(f"[HashTest] Testing for DRAT/DZAT.", "light_grey"))
+        cluster_values: bytes = self._drive_handle.read_cluster(compare_cluster_number)
+        if (cluster_values != compare_cluster_values):
+            # DRAT or DZAT
+            print(colored(f"[HashTest] Cluster {compare_cluster_number} read a different value immediately after deletion. DRAT or DZAT is likely.", "yellow"))
+            print(colored("[HashTest] SSD usage likely due to DRAT/DZAT. Skipping test.", "red"))
+            self._drive_handle.set_read_only(False)
+            # SSD usage likely
+            return True
+        else:
+            print(colored("[HashTest] No DRAT/DZAT detected.", "yellow"))
+
         detected_wear_levelling: bool = False
         prior_hash: str = None
         iteration = 0