diff --git a/compiler/optimizer/OMRSimplifierHandlers.cpp b/compiler/optimizer/OMRSimplifierHandlers.cpp index 711e17aa6e2..8d14d0ee8bc 100644 --- a/compiler/optimizer/OMRSimplifierHandlers.cpp +++ b/compiler/optimizer/OMRSimplifierHandlers.cpp @@ -12464,7 +12464,7 @@ TR::Node *bu2iSimplifier(TR::Node * node, TR::Block * block, TR::Simplifier * s) } else if (firstChild->getOpCodeValue() == TR::i2b && (firstChild->getFirstChild()->getOpCodeValue() == TR::butest || - firstChild->getFirstChild()->getOpCodeValue() == TR::arraycmp || + (firstChild->getFirstChild()->getOpCodeValue() == TR::arraycmp && !firstChild->getFirstChild()->isArrayCmpSign()) || firstChild->getFirstChild()->getOpCodeValue() == TR::icmpeq || firstChild->getFirstChild()->getOpCodeValue() == TR::lcmpeq || firstChild->getFirstChild()->getOpCodeValue() == TR::icmpne ||