--- a/src/Pure/Syntax/mixfix.ML	Sat Oct 07 01:31:19 2006 +0200
+++ b/src/Pure/Syntax/mixfix.ML	Sat Oct 07 01:31:20 2006 +0200
@@ -30,7 +30,7 @@
   val type_name: string -> mixfix -> string
   val const_name: string -> mixfix -> string
   val const_mixfix: string -> mixfix -> string * mixfix
-  val unlocalize_mixfix: mixfix -> mixfix
+  val unlocalize_mixfix: bool -> mixfix -> mixfix
   val mixfix_args: mixfix -> int
 end;
 
@@ -138,9 +138,9 @@
   | map_mixfix _ Structure = Structure
   | map_mixfix _ _ = raise Fail ("map_mixfix: illegal occurrence of unnamed infix");
 
-fun unlocalize_mixfix mx =
+fun unlocalize_mixfix loc mx =
   let val mx' = map_mixfix SynExt.unlocalize_mfix mx
-  in if mx = mx' then NoSyn else mx' end;
+  in if mx = mx' andalso loc then NoSyn else mx' end;
 
 fun mixfix_args NoSyn = 0
   | mixfix_args (Mixfix (sy, _, _)) = SynExt.mfix_args sy