diff --git a/bindings/pyroot/test/rdataframe_asnumpy.py b/bindings/pyroot/test/rdataframe_asnumpy.py
index 1ffa170ef4bf13aae267493d82c3bc82af1ae600..9532b2ed628ecb146185a834645148ed65e2bb72 100644
--- a/bindings/pyroot/test/rdataframe_asnumpy.py
+++ b/bindings/pyroot/test/rdataframe_asnumpy.py
@@ -194,6 +194,17 @@ class RDataFrameAsNumpy(unittest.TestCase):
         self.assertTrue(all(x == ref))
         self.assertTrue(hasattr(x, "result_ptr"))
 
+    def test_empty_array(self):
+        df = ROOT.RDataFrame(1).Define("x", "std::vector<float>()")
+        npy = df.AsNumpy(["x"])
+        self.assertEqual(npy["x"].size, 1)
+        self.assertTrue(npy["x"][0].empty())
+
+    def test_empty_selection(self):
+        df = ROOT.RDataFrame(10).Define("x", "1.0").Filter("x<0")
+        npy = df.AsNumpy(["x"])
+        self.assertEqual(npy["x"].size, 0)
+
 
 if __name__ == '__main__':
     unittest.main()