diff --git a/stdpp/propset.v b/stdpp/propset.v
index 1ed3af52c216d25065133279d39c7b2481216f68..5c829eb6c015e9a784929b89ecd41443d729b763 100644
--- a/stdpp/propset.v
+++ b/stdpp/propset.v
@@ -7,7 +7,7 @@ Add Printing Constructor propset.
 Global Arguments PropSet {_} _ : assert.
 Global Arguments propset_car {_} _ _ : assert.
 Notation "{[ x | P ]}" := (PropSet (λ x, P))
-  (at level 1, format "{[  x  |  P  ]}") : stdpp_scope.
+  (at level 1, x at level 200 as pattern, format "{[  x  |  P  ]}") : stdpp_scope.
 
 Global Instance propset_elem_of {A} : ElemOf A (propset A) := λ x X, propset_car X x.
 
diff --git a/tests/propset.ref b/tests/propset.ref
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/propset.v b/tests/propset.v
new file mode 100644
index 0000000000000000000000000000000000000000..64a2105906e23f2d3da1b83f78ff52bc98aacfad
--- /dev/null
+++ b/tests/propset.v
@@ -0,0 +1,10 @@
+From stdpp Require Import propset.
+
+Lemma diagonal : {[ (a,b) : nat * nat | a = b ]} ≡ (λ x, (x,x)) <$> ⊤.
+Proof. set_unfold. intros []. naive_solver. Qed.
+
+Lemma diagonal2 : {[ (a,b) | a =@{nat} b ]} ≡ {[ x | x.1 = x.2 ]}.
+Proof. set_unfold. intros []. naive_solver. Qed.
+
+Lemma simple_pattern_does_not_match : {[ x : nat | x = x]} = PropSet (λ x, x = x).
+Proof. exact eq_refl. Qed.