diff --git a/src/main/scala/leon/frontends/scalac/ASTExtractors.scala b/src/main/scala/leon/frontends/scalac/ASTExtractors.scala
index 3e7021f63e4c5f3d7545efadc995d4fea351f476..095927d1572480c05b40545dbac0d45e56e844ec 100644
--- a/src/main/scala/leon/frontends/scalac/ASTExtractors.scala
+++ b/src/main/scala/leon/frontends/scalac/ASTExtractors.scala
@@ -703,8 +703,9 @@ trait ASTExtractors {
     object ExUpdate {
       def unapply(tree: Apply): Option[(Tree, Tree, Tree)] = tree match {
         case Apply(
-              Select(lhs, update),
-              index :: newValue :: Nil) if(update.toString == "update") => Some((lhs, index, newValue))
+              s @ Select(lhs, update),
+              index :: newValue :: Nil) if(s.symbol.fullName.endsWith("Array.update")) => 
+            Some((lhs, index, newValue))
         case _ => None
       }
     }