To elaborate a bit on using try(). The following code uses the DerSimonian-Laird estimator if the REML estimation fails. m <- try(rma.uni(...)) if (inherits(m, "try-error")) m <- try(rma.uni(..., method = "DL")) Best, Guido