diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml
index adbf02e8b61950d6c8275ff704d0faf6938d0792..e6e4ef60d7dd5b2c47bd0d6ee453db10f18ba12d 100644
--- a/src/kernel_services/ast_queries/file.ml
+++ b/src/kernel_services/ast_queries/file.ml
@@ -991,7 +991,7 @@ let cleanup file =
         DoChildren
       | GFunDecl(s,_,_) ->
         Logic_utils.clear_funspec s;
-        DoChildren
+        SkipChildren
       | GType _ | GCompTag _ | GCompTagDecl _ | GEnumTag _
       | GEnumTagDecl _ | GVar _ | GVarDecl _ | GAsm _ | GPragma _ | GText _
       | GAnnot _  ->
@@ -1003,6 +1003,13 @@ let cleanup file =
              Cfg.clearFileCFG ~clear_id:false f;
              Cfg.computeFileCFG f; f end
             else f)
+
+    method! vinst _ = SkipChildren
+    method! vexpr _ = SkipChildren
+    method! vlval _ = SkipChildren
+    method! vtype _ = SkipChildren
+    method! vspec _ = SkipChildren
+    method! vcode_annot _ = SkipChildren
   end
   in visitFramacFileSameGlobals visitor file