diff --git a/sklearn/naive_bayes.py b/sklearn/naive_bayes.py
index eb29765efe7d794dd1dc809bda7f9021eb82aebd..4e7345bf0f5c62e8b5a02fa6bc9624e24c5f2e35 100644
--- a/sklearn/naive_bayes.py
+++ b/sklearn/naive_bayes.py
@@ -266,7 +266,9 @@ class BaseDiscreteNB(BaseNB):
         elif self.fit_prior:
             # empirical prior, with sample_weight taken into account
             y_freq = Y.sum(axis=0)
-            self.class_log_prior_ = np.log(y_freq) - np.log(y_freq.sum())
+            eps = np.finfo(1.).eps
+            self.class_log_prior_ = (np.log(y_freq + eps)
+                                    - np.log(y_freq.sum() + eps))
         else:
             self.class_log_prior_ = np.zeros(n_classes) - np.log(n_classes)