diff --git a/theories/logrel/session_types.v b/theories/logrel/session_types.v
index 46eeacd91643bd0a442e516dcee464e033290bec..cb8dcc263d5e894f5259e2d20f84ab3e5c6a02b1 100644
--- a/theories/logrel/session_types.v
+++ b/theories/logrel/session_types.v
@@ -69,10 +69,14 @@ Section session_types.
   Global Instance lty_msg_base_proper a :
     Proper ((≡) ==> (≡) ==> (≡)) (@lty_msg_base Σ a).
   Proof. rewrite /lty_msg_base. apply ne_proper_2, _. Qed.
-  (* FIXME: Not contractive since lty_msg_exist is not contractive *)
-  (* Global Instance lty_msg_base_contractive n a : *)
-  (*   Proper (dist n ==> dist_later n ==> dist n) (@lty_msg_base Σ a). *)
-  (* Proof. rewrite /lty_msg_base. solve_contractive. Qed. *)
+  Global Instance lty_msg_base_contractive n :
+    Proper (dist_later n ==> dist_later n ==> dist n) (@lty_msg_base Σ).
+  Proof.
+    intros A1 A2 HA S1 S2 HS.
+    rewrite /lty_msg_base.
+    f_equiv=> w.
+    by repeat f_contractive.
+  Qed.
 
   Global Instance lty_message_ne a : NonExpansive (@lty_message Σ a).
   Proof. solve_proper. Qed.