diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
index 7d0ada1..15e637a 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
  *
  * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -352,7 +352,7 @@
             		    		ITypeRoot typeRoot = (ITypeRoot) codeAssist;
 								ASTNode root = SharedASTProviderCore.getAST(typeRoot, SharedASTProviderCore.WAIT_NO, null);
             		    		if (root == null) {
-									ASTParser parser = ASTParser.newParser(AST.JLS12);
+									ASTParser parser = ASTParser.newParser(AST.JLS13);
 	            		    		parser.setSource(typeRoot);
 	            		    		parser.setFocalPosition(hoverRegion.getOffset());
 									root = parser.createAST(null);
@@ -403,7 +403,7 @@
             						equal = true;
 								} else {
 									// Check if there are variables captured by lambda, see bug 516278
-									if (LambdaUtils.isLambdaFrame(frame)) {
+									if (org.eclipse.jdt.internal.debug.core.model.LambdaUtils.isLambdaFrame(frame)) {
 										return LambdaUtils.findLocalVariableFromLambdaScope(frame, var);
 									}
             					}
@@ -435,7 +435,7 @@
 										}
 									} else {
 										// Check if there are variables captured by lambda, see bug 516278
-										if (LambdaUtils.isLambdaFrame(frame)) {
+										if (org.eclipse.jdt.internal.debug.core.model.LambdaUtils.isLambdaFrame(frame)) {
 											return LambdaUtils.findLocalVariableFromLambdaScope(frame, var);
 										}
 									}
