diff --git a/src/main/scala/leon/codegen/CodeGeneration.scala b/src/main/scala/leon/codegen/CodeGeneration.scala
index e5bb4b2af730bb0002887daf2e64e7333a5dc9e1..f4bb00795246d15d3148bfbaa01dc4e9a1afab1a 100644
--- a/src/main/scala/leon/codegen/CodeGeneration.scala
+++ b/src/main/scala/leon/codegen/CodeGeneration.scala
@@ -369,7 +369,7 @@ trait CodeGeneration {
           ch << InvokeVirtual(MapClass, "add", s"(L$ObjectClass;L$ObjectClass;)V")
         }
 
-      case MapGet(m, k) =>
+      case MapApply(m, k) =>
         val MapType(_, tt) = m.getType
         mkExpr(m, ch)
         mkBoxedExpr(k, ch)
diff --git a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
index c05355bdc4c2c2bbbc8b1d1f107c01f687d7dd8e..3f4a67f484dad28589684b4803d701316784860c 100644
--- a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
+++ b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
@@ -524,7 +524,7 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
     case f @ FiniteMap(ss, kT, vT) => 
       FiniteMap(ss.map{ case (k, v) => (e(k), e(v)) }.distinct, kT, vT)
 
-    case g @ MapGet(m,k) => (e(m), e(k)) match {
+    case g @ MapApply(m,k) => (e(m), e(k)) match {
       case (FiniteMap(ss, _, _), e) => ss.find(_._1 == e) match {
         case Some((_, v0)) => v0
         case None => throw RuntimeError("Key not found: " + e.asString)
diff --git a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
index f39b2947260ad39da151bdbb0a514f7687d12593..cc2d8938e5c1629e9ce27af4bd62d86e5cb2695a 100644
--- a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
+++ b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
@@ -1639,19 +1639,19 @@ trait CodeExtraction extends ASTExtractors {
 
             // Map methods
             case (IsTyped(a1, MapType(_, vt)), "apply", List(a2)) =>
-              MapGet(a1, a2)
+              MapApply(a1, a2)
 
             case (IsTyped(a1, MapType(_, vt)), "get", List(a2)) =>
               val someClass = CaseClassType(libraryCaseClass(sym.pos, "leon.lang.Some"), Seq(vt))
               val noneClass = CaseClassType(libraryCaseClass(sym.pos, "leon.lang.None"), Seq(vt))
 
               IfExpr(MapIsDefinedAt(a1, a2).setPos(current.pos),
-                CaseClass(someClass, Seq(MapGet(a1, a2).setPos(current.pos))).setPos(current.pos),
+                CaseClass(someClass, Seq(MapApply(a1, a2).setPos(current.pos))).setPos(current.pos),
                 CaseClass(noneClass, Seq()).setPos(current.pos))
 
             case (IsTyped(a1, MapType(_, vt)), "getOrElse", List(a2, a3)) =>
               IfExpr(MapIsDefinedAt(a1, a2).setPos(current.pos),
-                MapGet(a1, a2).setPos(current.pos),
+                MapApply(a1, a2).setPos(current.pos),
                 a3)
 
             case (IsTyped(a1, mt: MapType), "isDefinedAt", List(a2)) =>
diff --git a/src/main/scala/leon/purescala/ExprOps.scala b/src/main/scala/leon/purescala/ExprOps.scala
index f2ff6ea1b6b465c1f0a4c5edf9d19217e1e4ad46..69267f7afe5c87c2007f67911e23381bdae2f424 100644
--- a/src/main/scala/leon/purescala/ExprOps.scala
+++ b/src/main/scala/leon/purescala/ExprOps.scala
@@ -996,7 +996,7 @@ object ExprOps {
   /** Rewrites all map accesses with additional error conditions. */
   def mapGetWithChecks(expr: Expr): Expr = {
     postMap({
-      case mg @ MapGet(m,k) =>
+      case mg @ MapApply(m,k) =>
         val ida = MapIsDefinedAt(m, k)
         Some(IfExpr(ida, mg, Error(mg.getType, "Key not found for map access").copiedFrom(mg)).copiedFrom(mg))
 
diff --git a/src/main/scala/leon/purescala/Expressions.scala b/src/main/scala/leon/purescala/Expressions.scala
index 1e3722565312e3157de6044351791b49a5235513..7882a6269774c32485c2584f63d1e728ebe81d65 100644
--- a/src/main/scala/leon/purescala/Expressions.scala
+++ b/src/main/scala/leon/purescala/Expressions.scala
@@ -778,8 +778,8 @@ object Expressions {
   case class FiniteMap(singletons: Seq[(Expr, Expr)], keyType: TypeTree, valueType: TypeTree) extends Expr {
     val getType = MapType(keyType, valueType).unveilUntyped
   }
-  /** $encodingof `map.get(key)` */
-  case class MapGet(map: Expr, key: Expr) extends Expr {
+  /** $encodingof `map.apply(key)` (or `map(key)`)*/
+  case class MapApply(map: Expr, key: Expr) extends Expr {
     val getType = map.getType match {
       case MapType(from, to) if isSubtypeOf(key.getType, from) =>
         to
diff --git a/src/main/scala/leon/purescala/Extractors.scala b/src/main/scala/leon/purescala/Extractors.scala
index bace7746c6c7d0eb86320ac36daae771ba34d58c..c8d54731ce53cb7ba6cd1dc8cdad769f0432181a 100644
--- a/src/main/scala/leon/purescala/Extractors.scala
+++ b/src/main/scala/leon/purescala/Extractors.scala
@@ -114,8 +114,8 @@ object Extractors {
         Some(Seq(t1, t2), (es: Seq[Expr]) => SetUnion(es(0), es(1)))
       case SetDifference(t1, t2) =>
         Some(Seq(t1, t2), (es: Seq[Expr]) => SetDifference(es(0), es(1)))
-      case mg@MapGet(t1, t2) =>
-        Some(Seq(t1, t2), (es: Seq[Expr]) => MapGet(es(0), es(1)))
+      case mg@MapApply(t1, t2) =>
+        Some(Seq(t1, t2), (es: Seq[Expr]) => MapApply(es(0), es(1)))
       case MapUnion(t1, t2) =>
         Some(Seq(t1, t2), (es: Seq[Expr]) => MapUnion(es(0), es(1)))
       case MapDifference(t1, t2) =>
diff --git a/src/main/scala/leon/purescala/PrettyPrinter.scala b/src/main/scala/leon/purescala/PrettyPrinter.scala
index a0b9207a07a42003fef911df88a29c83ca887af3..77c33a62dbcf7105034e1757c924c024f1abfc01 100644
--- a/src/main/scala/leon/purescala/PrettyPrinter.scala
+++ b/src/main/scala/leon/purescala/PrettyPrinter.scala
@@ -261,7 +261,7 @@ class PrettyPrinter(opts: PrinterOptions,
       case SetDifference(l,r)        => p"$l \\ $r"
       case SetIntersection(l,r)      => p"$l \u2229 $r"
       case SetCardinality(s)         => p"|$s|"
-      case MapGet(m,k)               => p"$m($k)"
+      case MapApply(m,k)               => p"$m($k)"
       case MapIsDefinedAt(m,k)       => p"$m.isDefinedAt($k)"
       case ArrayLength(a)            => p"$a.length"
       case ArraySelect(a, i)         => p"$a($i)"
diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
index e90749e95c50764626d3b57cd3a9776087a8a6a7..aaf65f508e0d700ea08036734ba95d131e763781 100644
--- a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
+++ b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
@@ -435,7 +435,7 @@ abstract class SMTLIBSolver(val context: LeonContext,
         }.toMap, CaseClass(library.noneType(to), Seq())))
 
 
-      case MapGet(m, k) =>
+      case MapApply(m, k) =>
         val mt @ MapType(_, to) = m.getType
         declareSort(mt)
         // m(k) becomes
diff --git a/src/main/scala/leon/solvers/z3/AbstractZ3Solver.scala b/src/main/scala/leon/solvers/z3/AbstractZ3Solver.scala
index 6aabf292f53608d970a67e8fb8bd66dc0c162213..07943a8b971900220ec2b2771ee320dae5896dea 100644
--- a/src/main/scala/leon/solvers/z3/AbstractZ3Solver.scala
+++ b/src/main/scala/leon/solvers/z3/AbstractZ3Solver.scala
@@ -508,7 +508,7 @@ trait AbstractZ3Solver extends Solver {
           case (k, v) => (k, CaseClass(library.someType(t), Seq(v)))
         }.toMap, CaseClass(library.noneType(t), Seq())))
 
-      case MapGet(m, k) =>
+      case MapApply(m, k) =>
         val mt @ MapType(_, t) = normalizeType(m.getType)
         typeToSort(mt)
 
diff --git a/src/main/scala/leon/verification/InjectAsserts.scala b/src/main/scala/leon/verification/InjectAsserts.scala
index 3c3d89f4859449195584c1bd28460da956ab37fb..871662815ff0efb3d5484c89e8b5569fa5c2a350 100644
--- a/src/main/scala/leon/verification/InjectAsserts.scala
+++ b/src/main/scala/leon/verification/InjectAsserts.scala
@@ -32,7 +32,7 @@ object InjectAsserts extends LeonPhase[Program, Program] {
           ).setPos(e))
         case e @ ArrayUpdate(a, i, _)  =>
           Some(Assert(indexUpTo(i, ArrayLength(a)), Some("Array index out of range"), e).setPos(e))
-        case e @ MapGet(m,k) =>
+        case e @ MapApply(m,k) =>
           Some(Assert(MapIsDefinedAt(m, k), Some("Map undefined at this index"), e).setPos(e))
 
         case e @ AsInstanceOf(expr, ct)  =>