diff --git a/workspace/02_NHD_navigate.Rmd b/workspace/02_NHD_navigate.Rmd
index f5eb8215f2c8a1a141c2ccbba70bb6d01a35afbc..9bf3eaa3d6c78ff8d16a9c3b710942e47af57dac 100644
--- a/workspace/02_NHD_navigate.Rmd
+++ b/workspace/02_NHD_navigate.Rmd
@@ -207,7 +207,7 @@ if(!"Type_WBOut" %in% names(tmp_POIs)) {
   
   wb_out_col <- wb_poi_collapse(wb_layers$POIs, filter(nhd, WB == 1), events)
   tmp_POIs <- wb_out_col$POIs
-  if(!is.na(wb_out_col$events_ret)){
+  if(!all(is.na(wb_out_col$events_ret))) {
     write_sf(wb_out_col$events_ret, temp_gpkg, split_layer)
   }
   
diff --git a/workspace/06-1_hyRefactor_cats.Rmd b/workspace/06-1_hyRefactor_cats.Rmd
index 3071f1e398c59594f8f0e01ab2ce2c38aa0b04e4..0a4a4c615751539ecd8969f4863c02cd318d0b69 100644
--- a/workspace/06-1_hyRefactor_cats.Rmd
+++ b/workspace/06-1_hyRefactor_cats.Rmd
@@ -65,6 +65,7 @@ if(needs_layer(out_refac_gpkg, divide_layer)) {
 
     write_sf(sf::st_transform(split_cats, crs), out_refac_gpkg, split_divide_layer)
 
+    rm(split_cats)
   }
   
   unlink(cache_split)
diff --git a/workspace/06-2_aggregate_cats.Rmd b/workspace/06-2_aggregate_cats.Rmd
index c28f67466e13d8d0f1e905ca17cd3c7bbff98863..b67a588c310582ba3f183138fda1a7f10aee7e5f 100644
--- a/workspace/06-2_aggregate_cats.Rmd
+++ b/workspace/06-2_aggregate_cats.Rmd
@@ -86,6 +86,19 @@ if(needs_layer(out_agg_gpkg, agg_cats_layer)){
 
   }
 
+  # Identify reconciled flowpaths that are terminal and below DA threshold
+  reconciled_DA <- filter(reconciled, TotDASqKM <= aggregate_da_thresh_sqkm, is.na(toID))
+
+  # Ones not in existing pois
+  extra_outlets <- filter(reconciled_DA, !ID %in% outlets$ID) %>%
+    pull(ID)
+  
+  extra_nets <- nhdplusTools::get_sorted(select(sf::st_drop_geometry(reconciled),
+                                                ID, toID), outlets = extra_outlets)
+  
+  # remove extra network from contention
+  reconciled <- filter(reconciled, !ID %in% extra_nets$ID)
+  
   outlets <- outlets %>%
     left_join(select(st_drop_geometry(reconciled), ID, toID), by = "ID") %>%
     mutate(type = ifelse(is.na(toID), "terminal", "outlet")) %>%