diff --git a/workspace/06-2_aggregate_cats.Rmd b/workspace/04-2_aggregate_cats.Rmd
similarity index 95%
rename from workspace/06-2_aggregate_cats.Rmd
rename to workspace/04-2_aggregate_cats.Rmd
index b67a588c310582ba3f183138fda1a7f10aee7e5f..b6c95fe8f340e5fa3f711a25444c55f2c93add12 100644
--- a/workspace/06-2_aggregate_cats.Rmd
+++ b/workspace/04-2_aggregate_cats.Rmd
@@ -22,6 +22,7 @@ See `hyRefactory_config.R` for all constants.
 ```{r setup}
 source("R/utils.R")
 source("R/config.R")
+source("R/user_vars.R")
 source("R/NHD_navigate.R")
 source("R/hyRefactor_funs.R")
 
@@ -44,12 +45,12 @@ outlets_POI <- read_sf(out_refac_gpkg, outlets_layer) %>%
 POIs_data <- read_sf(nav_gpkg, poi_data_table)
 
 # reconciled have no ID applied in refactoring flowlines
-reconciled <- st_transform(read_sf(out_refac_gpkg, reconciled_layer), crs)
+reconciled <- st_transform(read_sf(out_refac_gpkg, reconciled_layer), proj_crs)
 refactored <- st_drop_geometry(read_sf(out_refac_gpkg, refactored_layer)) %>%
   select(COMID, Hydroseq) %>%
   mutate(COMID = as.integer(COMID))
 
-divides <- st_transform(read_sf(out_refac_gpkg, divide_layer), crs) 
+divides <- st_transform(read_sf(out_refac_gpkg, divide_layer), proj_crs) 
 
 lookup <- read_sf(out_refac_gpkg, lookup_table_refactor) %>%
   inner_join(select(st_drop_geometry(nhd), COMID, TotDASqKM), by = c("NHDPlusV2_COMID" = "COMID"))
@@ -105,7 +106,9 @@ if(needs_layer(out_agg_gpkg, agg_cats_layer)){
     mutate(type = ifelse(type == "terminal" & !is.na(toID), "outlet", type)) %>%
     select(-toID)
   
-  outlets <- distinct(outlets)
+  outlets <- filter(outlets, ID %in% reconciled$ID) %>% 
+    distinct()
+  
   agg_cats <- aggregate_catchments(flowpath = reconciled,
                                    divide = divides,
                                    outlets = outlets,
@@ -141,9 +144,14 @@ if(needs_layer(out_agg_gpkg, agg_cats_layer)){
            Type_Con = ifelse(!is.na(toID), 1, NA)) %>%
     st_as_sf()
   
-  final_POIs <- data.table::rbindlist(list(POIs_att, select(POIs_missing, 
+  
+  if(nrow(POIs_missing) > 0){
+      final_POIs <- data.table::rbindlist(list(POIs_att, select(POIs_missing, 
                                                             -c(Type_Term, Type_Con))), fill = TRUE) %>%
-    st_as_sf()
+      st_as_sf()
+  } else {
+    final_POIs <- POIs_att
+  }
     
   
   unaggregated_outlets <- filter(outlets_POI, !reconciled_ID %in% final_POIs$ID)