diff --git a/code/A98_PredictorsExtract.R b/code/A98_PredictorsExtract.R
index 6b3e2f3d4d52c8e28373c42789bced46865fbab7..a1153a17627a99c39506fb1534c6a43265f9b17b 100644
--- a/code/A98_PredictorsExtract.R
+++ b/code/A98_PredictorsExtract.R
@@ -60,9 +60,13 @@ PredExtr <- function(x.shp, myfunction=NA, output=NA,
     toassign <- header.shp[i.toassign,]
     print(paste(length(toassign), "plots not matched directly - seek for NN"))
   if(length(toassign)>0){
-    ## explode multipolygon
-    mypredictor.expl <- explode(mypredictor) %>% 
-      as_Spatial()
+    # Crack if multipolygon
+    if(any( (st_geometry_type(mypredictor %>% st_as_sf)) == "MULTIPOLYGON")) {
+      ## explode multipolygon
+      mypredictor.expl <- explode(mypredictor) %>% 
+        as_Spatial()
+      } else {
+        mypredictor.expl <- mypredictor}
     
     nearest <- foreach(i=1:length(toassign), .packages=c('raster'), .combine=rbind) %dopar% { 
       print(i)