diff --git a/theories/prelude/sorting.v b/theories/prelude/sorting.v
index 501c369f5d005f671beaa1372977fc89c437b6c6..2048c3017f678c7025d88c44b03013692642a765 100644
--- a/theories/prelude/sorting.v
+++ b/theories/prelude/sorting.v
@@ -114,7 +114,7 @@ End sorted.
 
 (** ** Correctness of merge sort *)
 Section merge_sort_correct.
-  Context  {A} (R : relation A) `{∀ x y, Decision (R x y)} `{!Total R}.
+  Context  {A} (R : relation A) `{∀ x y, Decision (R x y)}.
 
   Lemma list_merge_cons x1 x2 l1 l2 :
     list_merge R (x1 :: l1) (x2 :: l2) =
@@ -127,7 +127,7 @@ Section merge_sort_correct.
     destruct 1 as [|x1 l1 IH1], 1 as [|x2 l2 IH2];
       rewrite ?list_merge_cons; simpl; repeat case_decide; auto.
   Qed.
-  Lemma Sorted_list_merge l1 l2 :
+  Lemma Sorted_list_merge `{!Total R} l1 l2 :
     Sorted R l1 → Sorted R l2 → Sorted R (list_merge R l1 l2).
   Proof.
     intros Hl1. revert l2. induction Hl1 as [|x1 l1 IH1];
@@ -158,7 +158,7 @@ Section merge_sort_correct.
     | Some l :: st => l ++ merge_stack_flatten st
     end.
 
-  Lemma Sorted_merge_list_to_stack st l :
+  Lemma Sorted_merge_list_to_stack `{!Total R} st l :
     merge_stack_Sorted st → Sorted R l →
     merge_stack_Sorted (merge_list_to_stack R st l).
   Proof.
@@ -172,7 +172,7 @@ Section merge_sort_correct.
     revert l. induction st as [|[l'|] st IH]; intros l; simpl; auto.
     by rewrite IH, merge_Permutation, (assoc_L _), (comm (++) l).
   Qed.
-  Lemma Sorted_merge_stack st :
+  Lemma Sorted_merge_stack `{!Total R} st :
     merge_stack_Sorted st → Sorted R (merge_stack R st).
   Proof. induction 1; simpl; auto using Sorted_list_merge. Qed.
   Lemma merge_stack_Permutation st : merge_stack R st ≡ₚ merge_stack_flatten st.
@@ -180,7 +180,7 @@ Section merge_sort_correct.
     induction st as [|[] ? IH]; intros; simpl; auto.
     by rewrite merge_Permutation, IH.
   Qed.
-  Lemma Sorted_merge_sort_aux st l :
+  Lemma Sorted_merge_sort_aux `{!Total R} st l :
     merge_stack_Sorted st → Sorted R (merge_sort_aux R st l).
   Proof.
     revert st. induction l; simpl;
@@ -194,11 +194,11 @@ Section merge_sort_correct.
     - rewrite IH, merge_list_to_stack_Permutation; simpl.
       by rewrite Permutation_middle.
   Qed.
-  Lemma Sorted_merge_sort l : Sorted R (merge_sort R l).
+  Lemma Sorted_merge_sort `{!Total R} l : Sorted R (merge_sort R l).
   Proof. apply Sorted_merge_sort_aux. by constructor. Qed.
   Lemma merge_sort_Permutation l : merge_sort R l ≡ₚ l.
   Proof. unfold merge_sort. by rewrite merge_sort_aux_Permutation. Qed.
-  Lemma StronglySorted_merge_sort `{!Transitive R} l :
+  Lemma StronglySorted_merge_sort `{!Transitive R, !Total R} l :
     StronglySorted R (merge_sort R l).
   Proof. auto using Sorted_StronglySorted, Sorted_merge_sort. Qed.
 End merge_sort_correct.