diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index 34e918ad34d4ce00cdc155146529ce972f1d8f15..b8aee71840ae507a0b93f3187350c75799dc8f94 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -559,16 +559,7 @@ static bool allow_16bit_segments(void)
 	 * is worthwhile, disallow 16-bit segments under Xen PV.
 	 */
 	if (xen_pv_domain()) {
-		static DEFINE_MUTEX(xen_warning);
-		static bool warned;
-
-		mutex_lock(&xen_warning);
-		if (!warned) {
-			pr_info("Warning: 16-bit segments do not work correctly in a Xen PV guest\n");
-			warned = true;
-		}
-		mutex_unlock(&xen_warning);
-
+		pr_info_once("Warning: 16-bit segments do not work correctly in a Xen PV guest\n");
 		return false;
 	}
 #endif