diff --git a/src/kernel_services/ast_queries/ast_diff.ml b/src/kernel_services/ast_queries/ast_diff.ml
index be7053cfa7faddef913e890f762e7cf83a154ba9..e8173fb6c8e31d4466e521ae18d9782b50903745 100644
--- a/src/kernel_services/ast_queries/ast_diff.ml
+++ b/src/kernel_services/ast_queries/ast_diff.ml
@@ -362,12 +362,12 @@ let find_candidate_compinfo ?loc:_loc ci =
 
 let find_candidate_enuminfo ?loc:_loc ei =
   if Globals.Types.mem_type Logic_typing.Enum ei.ename then begin
-    match Globals.Types.global Logic_typing.Enum ei.ename with
-    | GEnumTag(ei,_) | GEnumTagDecl(ei,_) -> Some ei
-    | g ->
+    match Globals.Types.find_type Logic_typing.Enum ei.ename with
+    | TEnum(ei,_) -> Some ei
+    | t ->
       Kernel.fatal
-        "Expected enumeration definition instead of %a"
-        Cil_datatype.Global.pretty g
+        "Expected enuminfo instead of %a"
+        Printer.pp_typ t
   end else None
 
 let find_candidate_varinfo ?loc:_loc vi where =
diff --git a/tests/syntax/ast_diff_1.i b/tests/syntax/ast_diff_1.i
index 80d699482c562658c4907a72cf1fa75231b51b15..aada6a5b26af8f3cfbb669bd6b3c7a2719a38d00 100644
--- a/tests/syntax/ast_diff_1.i
+++ b/tests/syntax/ast_diff_1.i
@@ -77,4 +77,6 @@ struct s;
 
 extern struct s s;
 
-struct s* use_s() { return &s; }
+enum e;
+
+struct s* use_s() { enum e* x; return &s; }
diff --git a/tests/syntax/ast_diff_2.i b/tests/syntax/ast_diff_2.i
index bd8d7e8f1f8ef79a9f1afdf589422c4952c9086d..c0935612c3deadc32cc3d0d9f3f2a985a8d478c1 100644
--- a/tests/syntax/ast_diff_2.i
+++ b/tests/syntax/ast_diff_2.i
@@ -70,4 +70,6 @@ void local_var_use(int w, int q[][w]) {
 
 extern struct s s;
 
-struct s* use_s() { return &s; }
+enum e;
+
+struct s* use_s() { enum e* x; return &s; }
diff --git a/tests/syntax/oracle/ast_diff_1.res.oracle b/tests/syntax/oracle/ast_diff_1.res.oracle
index 1286ff511f93304970ca6c5a858245ecc9a84d17..d0b45c4af63ae96e0d1515eadaca1fdb193685ca 100644
--- a/tests/syntax/oracle/ast_diff_1.res.oracle
+++ b/tests/syntax/oracle/ast_diff_1.res.oracle
@@ -9,6 +9,7 @@
 [AST diff test] Variable y:  => t
 [AST diff test] Variable s:  => s
 [AST diff test] Variable use_s:  => use_s
+[AST diff test] Variable x:  => x
 [AST diff test] Variable has_static_local_x:  => has_static_local_y
 [AST diff test] Variable X:  => X
 [AST diff test] Variable Y: N/A