diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py
index f01721358..25942638f 100644
--- a/ietf/secr/sreq/tests.py
+++ b/ietf/secr/sreq/tests.py
@@ -733,6 +733,12 @@ class LockAppTestCase(TestCase):
         r = self.client.get(url)
         self.assertEqual(r.status_code, 200)
         q = PyQuery(r.content)
+        self.assertEqual(len(q(':disabled[name="submit"]')), 0)
+        chair = self.group.role_set.filter(name_id='chair').first().person.user.username
+        self.client.login(username=chair, password=f'{chair}+password')
+        r = self.client.get(url)
+        self.assertEqual(r.status_code, 200)
+        q = PyQuery(r.content)
         self.assertEqual(len(q(':disabled[name="submit"]')), 1)
     
     def test_view_request(self):
diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py
index dfac32363..f0e708323 100644
--- a/ietf/secr/sreq/views.py
+++ b/ietf/secr/sreq/views.py
@@ -572,7 +572,7 @@ def edit(request, acronym, num=None):
         form = FormClass(group, meeting, initial=initial)
 
     return render(request, 'sreq/edit.html', {
-        'is_locked': is_locked,
+        'is_locked': is_locked and not has_role(request.user,'Secretariat'),
         'is_virtual': meeting.number in settings.SECR_VIRTUAL_MEETINGS,
         'meeting': meeting,
         'form': form,