diff --git a/pandas/tests/series/test_apply.py b/pandas/tests/series/test_apply.py
index 90cf6916df0d1..162a27db34cb1 100644
--- a/pandas/tests/series/test_apply.py
+++ b/pandas/tests/series/test_apply.py
@@ -163,6 +163,18 @@ def test_apply_dict_depr(self):
         with tm.assert_produces_warning(FutureWarning):
             tsdf.A.agg({'foo': ['sum', 'mean']})
 
+    @pytest.mark.parametrize('series', [
+        ['1-1', '1-1', np.NaN],
+        ['1-1', '1-2', np.NaN]])
+    def test_apply_categorical_with_nan_values(self, series):
+        # GH 20714 bug fixed in: GH 24275
+        s = pd.Series(series, dtype='category')
+        result = s.apply(lambda x: x.split('-')[0])
+        result = result.astype(object)
+        expected = pd.Series(['1', '1', np.NaN], dtype='category')
+        expected = expected.astype(object)
+        tm.assert_series_equal(result, expected)
+
 
 class TestSeriesAggregate():