diff --git a/workspace/R/utils.R b/workspace/R/utils.R
index 61cf195a5c0190c9a0fe04f8dd6d26ae8061c882..4f187dffe8876d204230636fdcec2f948a75a759 100644
--- a/workspace/R/utils.R
+++ b/workspace/R/utils.R
@@ -441,10 +441,13 @@ merge_refactor <- function(rpus, rpu_vpu_out,
   }, out = out), names(out[[1]]))
   
   # blow up so we have unique COMIDs to join on.
+  # need to keep the top most of any splits (the .1 variety)
+  # this makes sure out toCOMID assignments go to the right new id.
   long_form <- st_drop_geometry(out[[reconciled_layer]]) %>%
     select(newID, member_COMID) %>%
     mutate(member_COMID = strsplit(member_COMID, ",")) %>%
     tidyr::unnest(cols = member_COMID) %>%
+    filter(grepl("\\.1$", member_COMID) | !grepl("\\.", member_COMID)) %>%
     mutate(NHDPlusV2_COMID = as.integer(member_COMID)) %>%
     select(-member_COMID, update_newtoID = newID)
   
diff --git a/workspace/runners/run_one_R.R b/workspace/runners/run_one_R.R
index ab7ab168798275b730b3a39fb54ec02722bdf6b0..2d4c472441549a8de52b05ec2e6fba5a12f32280 100644
--- a/workspace/runners/run_one_R.R
+++ b/workspace/runners/run_one_R.R
@@ -10,8 +10,9 @@ source("R/config.R")
 source("R/utils.R")
 
 ref <- paste0("cache/reference_", VPU, ".gpkg")
-
+nav <- paste0("cache/nav_", VPU, ".gpkg")
 unlink(ref)
+unlink(nav)
 
 for(r in rpu_codes$rpuid) {
   unlink(paste0("cache/", r, "_refactor.gpkg"))