diff --git a/plugins/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/interpreter/impl/XbaseInterpreter.java b/plugins/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/interpreter/impl/XbaseInterpreter.java
index <HASH>..<HASH> 100644
--- a/plugins/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/interpreter/impl/XbaseInterpreter.java
+++ b/plugins/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/interpreter/impl/XbaseInterpreter.java
@@ -740,6 +740,9 @@ public class XbaseInterpreter implements IExpressionInterpreter {
 			if (Modifier.isStatic(method.getModifiers()) && receiver!=null) {
 				throw new IllegalArgumentException("A static method can't be invoked on a receiver.");
 			}
+			// get the actual overriden method.
+			if (receiver != null)
+				method = receiver.getClass().getMethod(method.getName(), method.getParameterTypes());
 			Object result = method.invoke(receiver, argumentValues.toArray(new Object[argumentValues.size()]));
 			return result;
 		} catch (EvaluationException e) {
[xbase interpreter] make sure to invoke the overloaded method if existent