diff --git a/bin/migration_scripts/manganese2iron.sh b/bin/migration_scripts/manganese2iron.sh
index 2f6fda599979c018c5e3022900e224a4aecd27f8..9af1cd289a67cc68482633f09927e78ff7c3902c 100755
--- a/bin/migration_scripts/manganese2iron.sh
+++ b/bin/migration_scripts/manganese2iron.sh
@@ -86,7 +86,8 @@ process_file ()
   fi
   sedi "$file" \
    -e 's/Extlib\.id/Fun.id/g' \
-   -e 's/Extlib\.swap/Fun.flip/g'
+   -e 's/Extlib\.swap/Fun.flip/g' \
+   -e 's/Extlib\.xor/(<>)/g'
    # this line left empty on purpose
 }
 
diff --git a/src/kernel_internals/typing/mergecil.ml b/src/kernel_internals/typing/mergecil.ml
index d962659e2cc55eabdf59a0b335dd47644f2db42d..9f6b3b97c101362a3b677d4a1a07c1ced59e6ac2 100644
--- a/src/kernel_internals/typing/mergecil.ml
+++ b/src/kernel_internals/typing/mergecil.ml
@@ -2671,7 +2671,7 @@ let oneFilePass2 (f: file) =
             visit vi';
             vi'.vaddrof <- vi.vaddrof || vi'.vaddrof;
             vi'.vdefined <- vi.vdefined || vi'.vdefined;
-            if Extlib.xor vi'.vghost vi.vghost then
+            if vi'.vghost <> vi.vghost then
               Kernel.abort
                 "Cannot merge: Global %a has both ghost and non-ghost status"
                 Cil_printer.pp_varinfo vi';
diff --git a/src/libraries/stdlib/extlib.ml b/src/libraries/stdlib/extlib.ml
index 0ce56cce8396b6288638839fe49ba4e33ff581d1..1aaa77b0c0481c2ada7c4554f4414eb325694398 100644
--- a/src/libraries/stdlib/extlib.ml
+++ b/src/libraries/stdlib/extlib.ml
@@ -242,12 +242,6 @@ let opt_map2 f x y = match x, y with
   | None, _ | _, None -> None
   | Some x, Some y -> Some (f x y)
 
-(* ************************************************************************* *)
-(** Booleans                                                                 *)
-(* ************************************************************************* *)
-
-let xor x y = if x then not y else y
-
 (* ************************************************************************* *)
 (** {2 Performance} *)
 (* ************************************************************************* *)
diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli
index c641d93e5f379f9cfc360c580aec17dbddda726b..0335824ac579103d3d13d602f3a9d7e335ad820a 100644
--- a/src/libraries/stdlib/extlib.mli
+++ b/src/libraries/stdlib/extlib.mli
@@ -207,14 +207,6 @@ val opt_map2: ('a -> 'b -> 'c) -> 'a option -> 'b option -> 'c option
     [None].
     @since 24.0-Chromium *)
 
-(* ************************************************************************* *)
-(** {2 Booleans} *)
-(* ************************************************************************* *)
-
-val xor: bool -> bool -> bool
-(** exclusive-or.
-    @since Oxygen-20120901 *)
-
 (* ************************************************************************* *)
 (** {2 Strings} *)
 (* ************************************************************************* *)