diff --git a/java/jvm_balloon.cc b/java/jvm_balloon.cc
index c8fb8b8fc16c39bf172aeae45755d6653e8c8208..53337311abea1416d424682839e63cb187a17a90 100644
--- a/java/jvm_balloon.cc
+++ b/java/jvm_balloon.cc
@@ -295,7 +295,7 @@ void jvm_balloon_shrinker::_thread_loop()
         WITH_LOCK(balloons_lock) {
             _blocked.wait_until(balloons_lock, [&] { return (_pending.load() + _pending_release.load()) > 0; });
 
-            if (balloons.size() >= _soft_max_balloons) {
+            if (balloons.size() > _soft_max_balloons) {
                 memory::wake_reclaimer();
             }