diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index d37960b0..f1316fea 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -187,4 +187,8 @@ v1.12.2
 - Add get_cmd.child_debug flag
 - Usability improvements for integration test scripts
 - Fix static asset import #391
-- Fix indoor_asset_semantics.py typo #398
\ No newline at end of file
+- Fix indoor_asset_semantics.py typo #398
+
+v1.12.3
+- Fix populate_collection missing argument 'cameras'
+- Fix split_in_view crash for dist_max=None
\ No newline at end of file
diff --git a/infinigen/__init__.py b/infinigen/__init__.py
index c59c8cc5..fb313e33 100644
--- a/infinigen/__init__.py
+++ b/infinigen/__init__.py
@@ -6,7 +6,7 @@
 import logging
 from pathlib import Path
 
-__version__ = "1.12.2"
+__version__ = "1.12.3"
 
 
 def repo_root():
diff --git a/infinigen/core/placement/placement.py b/infinigen/core/placement/placement.py
index f53584cc..fac48f24 100644
--- a/infinigen/core/placement/placement.py
+++ b/infinigen/core/placement/placement.py
@@ -191,7 +191,7 @@ def filter_populate_targets(
 def populate_collection(
     factory: AssetFactory,
     placeholder_col: bpy.types.Collection,
-    cameras,
+    cameras: list[bpy.types.Object] = None,
     asset_col_target=None,
     dist_cull=None,
     vis_cull=None,
diff --git a/infinigen/core/placement/split_in_view.py b/infinigen/core/placement/split_in_view.py
index 96ddaedd..7f07ad26 100644
--- a/infinigen/core/placement/split_in_view.py
+++ b/infinigen/core/placement/split_in_view.py
@@ -149,7 +149,13 @@ def compute_inview_distances(
         bpy.context.scene.frame_set(frame)
         for cam in cameras:
             dists, vis_dists = compute_vis_dists(points, cam)
-            frame_cam_mask = (dists < dist_max) & (vis_dists < vis_margin)
+
+            frame_cam_mask = np.ones(len(points), dtype=bool)
+
+            if dist_max is not None:
+                frame_cam_mask &= dists < dist_max
+            if vis_margin is not None:
+                frame_cam_mask &= vis_dists < vis_margin
 
             if frame_cam_mask.any():
                 min_vis_dists[frame_cam_mask] = np.minimum(