diff --git a/src/main/scala/leon/purescala/TypeOps.scala b/src/main/scala/leon/purescala/TypeOps.scala
index 1f05a5d64cabae905ddf940eb491b5b52b3679f4..56f77cabb6d8a408b1c8201b2317dd0a4b363322 100644
--- a/src/main/scala/leon/purescala/TypeOps.scala
+++ b/src/main/scala/leon/purescala/TypeOps.scala
@@ -263,6 +263,9 @@ object TypeOps {
           case fi @ FunctionInvocation(TypedFunDef(fd, tps), args) =>
             FunctionInvocation(TypedFunDef(fd, tps.map(tpeSub)), args.map(srec)).copiedFrom(fi)
 
+          case mi @ MethodInvocation(r, cd, TypedFunDef(fd, tps), args) =>
+            MethodInvocation(srec(r), cd, TypedFunDef(fd, tps.map(tpeSub)), args.map(srec)).copiedFrom(mi)
+
           case cc @ CaseClass(ct, args) =>
             CaseClass(tpeSub(ct).asInstanceOf[CaseClassType], args.map(srec)).copiedFrom(cc)