diff --git a/model_server/base/roiset.py b/model_server/base/roiset.py
index fa622930149d185025ab8203cc75b906519e9264..c558c549400950e8fa3b7bb2acf1fed3d4617809 100644
--- a/model_server/base/roiset.py
+++ b/model_server/base/roiset.py
@@ -438,8 +438,14 @@ class RoiSet(object):
             params.expand_box_by,
         )
 
-        # TODO: don't even make binary_mask column in obj det case
+        def _make_binary_mask(r):
+            return np.ones((r.h, r.w), dtype=bool)
 
+        df['binary_mask'] = df.apply(
+            _make_binary_mask,
+            axis=1,
+            result_type='reduce',
+        )
         return RoiSet(acc_raw, df, params)
 
 
@@ -987,10 +993,6 @@ class RoiSet(object):
 
         return self._df.apply(_poly_from_mask, axis=1)
 
-    @property
-    def contains_segmentation(self):
-        return 'binary_mask' in self._df.columns
-
     @property
     def acc_obj_ids(self):
         return make_object_ids_from_df(self._df, self.acc_raw.shape_dict)
diff --git a/tests/base/test_roiset.py b/tests/base/test_roiset.py
index 6a516be0e8de6cb79610c142a756499d5e106710..585ded2117ae0de8e729598f428b664a604c51d7 100644
--- a/tests/base/test_roiset.py
+++ b/tests/base/test_roiset.py
@@ -660,10 +660,10 @@ class TestRoiSetObjectDetection(unittest.TestCase):
 
         )
 
-        # test segments reside in bounding boxes
-
-        self.assertFalse(roiset.contains_segmentation)
         patches = roiset.get_patches_acc()
+        self.assertEqual(len(table), patches.count)
+
+        # TODO: test segments reside in bounding boxes
         self.assertTrue(False)
 
 class TestRoiSetPolygons(BaseTestRoiSetMonoProducts, unittest.TestCase):