diff --git a/src/main/scala/leon/codegen/CodeGeneration.scala b/src/main/scala/leon/codegen/CodeGeneration.scala
index 564216f21849855fccb329c4983d3658a9378f63..f8a062e6f9d68613cea9030dce53897b07b7fa72 100644
--- a/src/main/scala/leon/codegen/CodeGeneration.scala
+++ b/src/main/scala/leon/codegen/CodeGeneration.scala
@@ -521,8 +521,7 @@ trait CodeGeneration {
           }
         }
        
-        // No dynamic dispatching/overriding in Leon, 
-        // so no need to take care of own vs. "super" methods
+        // No interfaces in Leon, so no need to use InvokeInterface
         ch << InvokeVirtual(className, methodName, sig) 
   
         (tfd.fd.returnType, tfd.returnType) match {
diff --git a/src/test/scala/leon/test/codegen/CodeGenSuite.scala b/src/test/scala/leon/test/codegen/CodeGenSuite.scala
index 6ad41d65a0ea6429b33a6abcae02bfaded189027..82c0a1161e69b0ae461410c85dc08afea78eebc2 100644
--- a/src/test/scala/leon/test/codegen/CodeGenSuite.scala
+++ b/src/test/scala/leon/test/codegen/CodeGenSuite.scala
@@ -121,7 +121,9 @@ class CodeGenSuite extends test.LeonTestSuite {
     // This one loops!    
     ("lazyLoops" ,        Error(Untyped, "Looping") ),
     ("Lazier" ,           IntLiteral(1 + 2 + 3) ),
-    ("SetToList",         BooleanLiteral(true) )
+    ("SetToList",         BooleanLiteral(true) ),
+    ("Overrides1",        Tuple(Seq(BooleanLiteral(false), BooleanLiteral(true))) ),
+    ("Overrides2",        Tuple(Seq(BooleanLiteral(false), BooleanLiteral(true))) )
   )
 
 
@@ -362,6 +364,28 @@ class CodeGenSuite extends test.LeonTestSuite {
         s == s2
       }
     }
+    object Overrides1 {
+      abstract class A {
+        def x = true
+      }
+      case class B() extends A {
+        override def x = false
+      }
+      case class C() extends A
+
+      def test = (B().x, C().x)
+    }
+    object Overrides2 {
+      abstract class A {
+        val x = true
+      }
+      case class B() extends A {
+        override val x = false
+      }
+      case class C() extends A
+
+      def test = (B().x, C().x)
+    }
   """
 
   runTests()