diff --git a/src/datastructures.c b/src/datastructures.c
index fb2e321c456243c9f8cc0fc4be286c538c8f7db5..16b30fcffcd3d5fad40f7271e666df6b9b8994bb 100644
--- a/src/datastructures.c
+++ b/src/datastructures.c
@@ -241,5 +241,5 @@ bool h_eq_ptr(const void *p, const void *q) {
 }
 
 HHashValue h_hash_ptr(const void *p) {
-  return (uintptr_t)p;
+  return (uintptr_t)p >> 4;
 }