diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index eb2c8cd094..31b6dc9233 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -2127,7 +2127,7 @@ class InlineModelAdmin(BaseModelAdmin):
         return queryset
 
     def has_add_permission(self, request, obj=None):
-        # RemovedInDjango31Warning: obj becomes a mandatory argument.
+        # RemovedInDjango30Warning: obj becomes a mandatory argument.
         if self.opts.auto_created:
             # We're checking the rights to an auto-created intermediate model,
             # which doesn't have its own individual permissions. The user needs
diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py
index 0d78dd9c21..bb79000b06 100644
--- a/tests/modeladmin/tests.py
+++ b/tests/modeladmin/tests.py
@@ -798,7 +798,7 @@ class ModelAdminPermissionTests(SimpleTestCase):
         self.assertIsInstance(inline_instances[0], ConcertInline)
 
     def test_inline_has_add_permission_without_obj(self):
-        # This test will be removed in Django 3.1 when `obj` becomes a required
+        # This test will be removed in Django 3.0 when `obj` becomes a required
         # argument of has_add_permission() (#27991).
         class ConcertInline(TabularInline):
             model = Concert