diff --git a/tests/feature/intersections/aabb-intersect.cc b/tests/feature/intersections/aabb-intersect.cc
index 687c8936bdbefb26feee5176aeead70f72c37af7..8807b580a78536338de1357ce489cace9ea8392b 100644
--- a/tests/feature/intersections/aabb-intersect.cc
+++ b/tests/feature/intersections/aabb-intersect.cc
@@ -204,31 +204,25 @@ TG_FUZZ_TEST(AABB, RayIntersection)
 
 TG_FUZZ_TEST(AABB, ObjectIntersection)
 {
-    auto const padding = 0.25f;
     auto const numSamples = 250;
-    auto const maxNumSamples = 250000;
     auto const test_obj = [&](auto const& bb, auto const& o) {
-        auto bbPadded = bb;
-        bbPadded.min -= padding;
-        bbPadded.max += padding;
 
-        if (intersects(o, bbPadded))
+        if (!intersects(o, bb))
         {
-            auto someInside = false;
-            for (auto i = 0; i < maxNumSamples && !someInside; ++i)
+            for (auto i = 0; i < numSamples; ++i)
             {
-                auto pBox = uniform(rng, bbPadded);
-                if (contains(o, pBox, padding))
-                    someInside = true;
+                auto pBox = uniform(rng, bb);
+                CHECK(!contains(o, pBox));
             }
-            CHECK(someInside);
         }
-        else
+
+        for (auto i = 0; i < numSamples; ++i)
         {
-            for (auto i = 0; i < numSamples; ++i)
+            auto pBox = uniform(rng, bb);
+            if (contains(o, pBox))
             {
-                auto pBox = uniform(rng, bb);
-                CHECK(!contains(o, pBox, padding));
+                CHECK(intersects(o, bb));
+                break;
             }
         }
 
@@ -237,23 +231,22 @@ TG_FUZZ_TEST(AABB, ObjectIntersection)
             auto const objBounds = aabb_of(o);
             CHECK(intersects(o, objBounds));
 
-            if (intersects(o, bb))
+            if (!intersects(o, bb))
             {
-                auto someInside = false;
-                for (auto i = 0; i < maxNumSamples && !someInside; ++i)
+                for (auto i = 0; i < numSamples; ++i)
                 {
                     auto pObj = uniform(rng, o);
-                    if (contains(bb, pObj))
-                        someInside = true;
+                    CHECK(!contains(bb, pObj));
                 }
-                CHECK(someInside);
             }
-            else
+
+            for (auto i = 0; i < numSamples; ++i)
             {
-                for (auto i = 0; i < numSamples; ++i)
+                auto pObj = uniform(rng, o);
+                if (contains(bb, pObj))
                 {
-                    auto pObj = uniform(rng, o);
-                    CHECK(!contains(bb, pObj));
+                    CHECK(intersects(o, bb));
+                    break;
                 }
             }
         }