diff --git a/theories/base_logic/lib/namespaces.v b/theories/base_logic/lib/namespaces.v
index ccbe3d0634790c096cf5d388ca04a935c16e4561..d806f9eedafa5a637d3b9833e09b5a993cc48c8e 100644
--- a/theories/base_logic/lib/namespaces.v
+++ b/theories/base_logic/lib/namespaces.v
@@ -87,13 +87,12 @@ of the forms:
 - [N1 ⊥ N2] 
 - [↑N1 ⊆ E ∖ ↑N2 ∖ .. ∖ ↑Nn]
 - [E1 ∖ ↑N1 ⊆ E2 ∖ ↑N2 ∖ .. ∖ ↑Nn] *)
+Create HintDb ndisj.
 Hint Resolve ndisj_subseteq_difference : ndisj.
 Hint Extern 0 (_ ⊥ _) => apply ndot_ne_disjoint; congruence : ndisj.
-Hint Extern 1 (_ ⊥ _) => apply ndot_preserve_disjoint_l : ndisj.
-Hint Extern 1 (_ ⊥ _) => apply ndot_preserve_disjoint_r : ndisj.
-Hint Extern 1 (_ ⊆ _) => apply nclose_subseteq' : ndisj.
+Hint Resolve ndot_preserve_disjoint_l ndot_preserve_disjoint_r
+     nclose_subseteq' ndisj_difference_l : ndisj.
 Hint Resolve namespace_subseteq_difference_l | 100 : ndisj.
-Hint Resolve ndisj_difference_l : ndisj.
 
 Ltac solve_ndisj :=
   repeat match goal with