diff --git a/R/gcnt.R b/R/gcnt.R
index 91f5cc849b6f5eab2c57863a134d706e86d4ec13..6e157ba25214f1522d6f0e7a9f22bd8b856467b3 100644
--- a/R/gcnt.R
+++ b/R/gcnt.R
@@ -238,6 +238,11 @@ dgcnt <- function(y, lambda, alpha) {
 #'
 #' @importFrom stats glm.fit model.frame model.matrix model.offset model.response poisson
 gcnt <- function(formula, data, start = NULL, ...) {
+    if (!requireNamespace("bbmle", quietly = TRUE)){
+        stop(paste("`bbmle` \u00e9 necess\u00e1rio para",
+                   "essa fun\u00e7\u00e3o. Por favor, instale-o."),
+             call. = FALSE)
+    }
     frame <- model.frame(formula, data)
     terms <- attr(frame, "terms")
     y <- model.response(frame)
@@ -247,9 +252,10 @@ gcnt <- function(formula, data, start = NULL, ...) {
         m0 <- glm.fit(x = X, y = y, offset = off, family = poisson())
         start <- c("alpha" = 0, m0$coefficients)
     }
+    off <- if (is.null(off)) { NULL } else { exp(off) }
     bbmle::parnames(llgcnt) <- names(start)
     model <- bbmle::mle2(minuslogl = llgcnt, start = start,
-                         data = list(y = y, X = X, offset = exp(off)),
+                         data = list(y = y, X = X, offset = off),
                          vecpar = TRUE, ...)
     return(model)
 }
diff --git a/R/pgnz.R b/R/pgnz.R
index 5493108987b98deef6a0a25315a941505a6302c7..4a352ea8a1b2f5019c3b128ed3a543d3dfaa706c 100644
--- a/R/pgnz.R
+++ b/R/pgnz.R
@@ -216,6 +216,11 @@ dpgnz <- function(y, lambda, alpha) {
 #'
 #' @importFrom stats glm.fit model.frame model.matrix model.offset model.response poisson
 pgnz <- function(formula, data, start = NULL, ...) {
+    if (!requireNamespace("bbmle", quietly = TRUE)){
+        stop(paste("`bbmle` \u00e9 necess\u00e1rio para",
+                   "essa fun\u00e7\u00e3o. Por favor, instale-o."),
+             call. = FALSE)
+    }
     frame <- model.frame(formula, data)
     terms <- attr(frame, "terms")
     y <- model.response(frame)
@@ -225,9 +230,10 @@ pgnz <- function(formula, data, start = NULL, ...) {
         m0 <- glm.fit(x = X, y = y, offset = off, family = poisson())
         start <- c("alpha" = 0, m0$coefficients)
     }
+    off <- if (is.null(off)) { NULL } else { exp(off) }
     bbmle::parnames(llpgnz) <- names(start)
     model <- bbmle::mle2(minuslogl = llpgnz, start = start,
-                         data = list(y = y, X = X, offset = exp(off)),
+                         data = list(y = y, X = X, offset = off),
                          vecpar = TRUE, ...)
     return(model)
 }