diff --git a/CHANGELOG.md b/CHANGELOG.md
index b3f380d64ac239ac952836c0ec618315dd8d18e4..1b6f567affc4115b5c513652b7cf8c869616ffb6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -43,7 +43,11 @@ Changes in heap_lang:
   typically provided in systems languages (C, C++, Rust).
   The comparison by this operation also got weakened to be efficiently
   implementable: CmpXchg may only be used to compare "unboxed" values that can
-  be represented in a single machine word.
+  be represented in a single machine word. It is sufficient if one of the two
+  compared values is unboxed.
+* For consistency, the restrictions CmpXchg imposes on comparison also apply to
+  the `=` binary operator. This also fixes the long-standing problem that that
+  operator allowed compared closures with each other.
 * Implement prophecy variables using the new support for "observations".
 * heap_lang now uses right-to-left evaluation order. This makes it
   significantly easier to write specifications of curried functions.
@@ -56,10 +60,6 @@ Changes in heap_lang:
 * heap_lang now has support for allocating, accessing and reasoning about arrays
   (continuously allocated regions of memory).
 * One can now assign "meta" data to heap_lang locations.
-* For comparison operation (the binary operator and CmpXchg), all closures are
-  "normalized" to the same.  This makes all closures indistinguishable from each
-  other while remaining unqueal to anything else.  We also use the same
-  "normalization" to make sure all prophecy variables seem equal to `()`.
 
 Changes in Coq: