diff --git a/99_HIDDEN_functions.R b/99_HIDDEN_functions.R
index 222457151b4639742eb03bd76452cc4ca87d9742..8ca71e6b29097ddc929d6b0882ad053de63575b2 100644
--- a/99_HIDDEN_functions.R
+++ b/99_HIDDEN_functions.R
@@ -50,11 +50,6 @@ get.corXY <- function(comm, traits, trait.sel="all", stat=c("mantel", "RV", "pro
 
 #### Function 1b - CorXY bootstrap####
 get.corXY.bootstrap <- function(comm, traits, trait.sel="all", bootstrap=199){
-  ## caution
-  ## ALL columns with only 0-1 values are AUTOMATICALLY considered as asym.bin sensu FD:gowdis
-  ##get all columns with binary variables
-  binary.traits <- which( (traits %>% summarize_all( ~all(na.omit(.) %in% 0:1) )) ==T) 
-  
   if(identical(trait.sel, "all")) {trait.sel <- 1:ncol(traits)}
   ii <- trait.sel
   lab.tmp <- paste(ii, collapse="_")
@@ -67,11 +62,18 @@ get.corXY.bootstrap <- function(comm, traits, trait.sel="all", bootstrap=199){
   #Calculate correlations on full data
   n.sites <- nrow(comm)
   n.species <- ncol(comm)
+  
+  ## caution
+  ## ALL columns with only 0-1 values are AUTOMATICALLY considered as asym.bin sensu FD:gowdis
+  ##get all columns with binary variables
+  binary.traits <- which(apply(traits[,ii,drop=F], MARGIN=2, function(x)( all(na.omit(x) %in% 0:1) ))==T)
+  
   syn.out.tmp <- matrix.x(comm=comm, traits=traits[,ii,drop=F], scale=T, asym.bin=binary.traits)$matrix.X
   W.beals <- as.data.frame(beals(comm, include=T, type=2))
   # permtute traits 
   index.traits <- lapply(1:(bootstrap+1), function(x){sample(1:n.species, replace=F)})
-  syn.out.perm.tmp <- matrix.x(comm=comm, traits=traits[index.traits[[bootstrap+1]],ii,drop=F], scale=T)$matrix.X
+  syn.out.perm.tmp <- matrix.x(comm=comm, traits=traits[index.traits[[bootstrap+1]],ii,drop=F], 
+                               scale=T, asym.bin=binary.traits)$matrix.X
   
   corXY <- NULL
   #RD.tmp <- RV.rtest(W.beals, as.data.frame(syn.out.tmp), nrepet = 0)