diff --git a/python/paddle/nn/functional/loss.py b/python/paddle/nn/functional/loss.py
index 593cea2d2cf643310f9e1b9d7a0b35be679eb6fb..fb9c22edc65edfac4036443094e709f7cec6f9ac 100755
--- a/python/paddle/nn/functional/loss.py
+++ b/python/paddle/nn/functional/loss.py
@@ -1905,7 +1905,7 @@ def cross_entropy(input,
     if reduction == "sum":
         return paddle.sum(out, name=name)
     elif reduction == "mean":
-        if ignore_index != -100:
+        if ignore_index >= 0:
             out_sum = paddle.sum(out, name=name)
             # for each label[i],set 1 or 0, according to ignore_index
             # mask[i]=0, if label[i]==ignore_index