diff --git a/src/plugins/obfuscator/obfuscate.ml b/src/plugins/obfuscator/obfuscate.ml
index 5eb3a8bf65f81696b18b955576f44603171b7cd6..1226530bf2284b2a9bbe0c896c49a1a46898673c 100644
--- a/src/plugins/obfuscator/obfuscate.ml
+++ b/src/plugins/obfuscator/obfuscate.ml
@@ -87,7 +87,9 @@ class visitor = object
       if Cil.isFunctionType vi.vtype then
         try
           if vi.vname <> "main"
-          && Kernel_function.is_definition (Globals.Functions.get vi) then
+          && not (Cil.is_builtin vi)
+          && not (Cil.is_special_builtin vi.vname)
+          && not (Cil.hasAttribute "fc_stdlib" vi.vattr) then
             vi.vname <- Dictionary.fresh Obfuscator_kind.Function vi.vname
         with Not_found -> assert false
       else begin