diff --git a/lib/compiler/implementation/ssa/builder.dart b/lib/compiler/implementation/ssa/builder.dart
index 2dbd9a3..50b8006 100644
--- a/lib/compiler/implementation/ssa/builder.dart
+++ b/lib/compiler/implementation/ssa/builder.dart
@@ -2558,6 +2558,13 @@
       return;
     }
 
+    Element element = elements[node];
+    if (element != null && compiler.world.hasNoOverridingMember(element)) {
+      if (tryInlineMethod(element, selector, node.arguments)) {
+        return;
+      }
+    }
+
     if (node.receiver == null) {
       inputs.add(localsHandler.readThis());
     } else {
@@ -2566,13 +2573,6 @@
     }
 
     addDynamicSendArgumentsToList(node, inputs);
-
-    Element element = elements[node];
-    if (element != null && compiler.world.hasNoOverridingMember(element)) {
-      if (tryInlineMethod(element, selector, node.arguments)) {
-        return;
-      }
-    }
     // The first entry in the inputs list is the receiver.
     pushWithPosition(new HInvokeDynamicMethod(selector, inputs), node);
 
diff --git a/tests/language/inline_argument_test.dart b/tests/language/inline_argument_test.dart
new file mode 100644
index 0000000..a04786f
--- /dev/null
+++ b/tests/language/inline_argument_test.dart
@@ -0,0 +1,24 @@
+// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// Test that when inlining A.foo, we're not evaluating the argument
+// twice.
+
+class A {
+  var field = 0;
+
+  foo(b) {
+    Expect.equals(0, b);
+    Expect.equals(0, b);
+  }
+
+  bar() {
+    foo(field++);
+  }
+}
+
+main() {
+  var a = new A();
+  a.bar();
+  Expect.equals(1, a.field);
+}
diff --git a/tools/VERSION b/tools/VERSION
index 34007a7..91a307d 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
 MAJOR 0
 MINOR 2
 BUILD 2
-PATCH 0
+PATCH 1
