diff --git a/99_HIDDEN_functions.R b/99_HIDDEN_functions.R
index 1b6bcfe634d40f1fc5f2610159cef816b185298e..c5c919adcbc87ea4cbcb36548e62a4adea779ad8 100644
--- a/99_HIDDEN_functions.R
+++ b/99_HIDDEN_functions.R
@@ -41,13 +41,14 @@ get.corXY.bootstrap <- function(comm, traits, trait.sel="all", bootstrap=199){
   W.beals <- as.data.frame(beals(comm, include=T, type=2))
   # permute traits 
   ### Create vector of species to resample from, which exclude species with NAs
-  ids <- 1:nrow(traits)
-  id.nas <- ids[which(rowSums(is.na(traits))>0)]
+  traits.ii <- traits[,ii, drop=F]
+  ids <- 1:nrow(traits.ii)
+  id.nas <- ids[which(rowSums(is.na(traits.ii))==ncol(traits.ii))]
   toresample <- ids[!ids %in% id.nas]
   ## create list of indices of permuted traits, but without shuffling traits with missing data
   ## the length of the list is = to the number of bootstraps
   index.traits <- lapply(1:(bootstrap+1), function(x){
-    out <- rep(NA, nrow(traits))
+    out <- rep(NA, nrow(traits.ii))
     out[id.nas] <- id.nas
     out[is.na(out)] <- sample(toresample, replace=F)
     return(out)