diff --git a/src/macro/MacroValue.cc b/src/macro/MacroValue.cc
index 6d6efe996bce80957214844e3306f832fb2e283a..28484663a9de0ec0602897302aaec9d6e187af3a 100644
--- a/src/macro/MacroValue.cc
+++ b/src/macro/MacroValue.cc
@@ -419,7 +419,7 @@ ArrayMV::minus(const MacroValuePtr &mv) noexcept(false)
     {
       auto it2 = mv2->values.cbegin();
       for (; it2 != mv2->values.cend(); ++it2)
-        if (it->is_different(*it2)->value)
+        if (it->is_equal(*it2)->value)
           break;
       if (it2 == mv2->values.cend())
         new_values.push_back(it);