diff --git a/wagtail/admin/views/pages.py b/wagtail/admin/views/pages.py
index c30ca7fa3..8cf6edcf9 100644
--- a/wagtail/admin/views/pages.py
+++ b/wagtail/admin/views/pages.py
@@ -344,12 +344,21 @@ def edit(request, page_id):
form_class = edit_handler.get_form_class()
if page_perms.user_has_lock():
- messages.warning(request, format_html(_("Page '{}' was locked by you on {}."), page.get_admin_display_title(), page.locked_at.strftime("%d %b %Y %H:%M")), extra_tags='lock')
- if page_perms.page_locked():
- locked_by_message = ""
- if page.locked_by:
- locked_by_message = format_html(" by {}", str(page.locked_by))
- messages.error(request, format_html(_("Page '{}' was locked{} on {}."), page.get_admin_display_title(), locked_by_message, page.locked_at.strftime("%d %b %Y %H:%M")), extra_tags='lock')
+ if page.locked_at:
+ lock_message = format_html(_("Page '{}' was locked by you on {}."), page.get_admin_display_title(), page.locked_at.strftime("%d %b %Y %H:%M"))
+ else:
+ lock_message = format_html(_("Page '{}' is locked by you."), page.get_admin_display_title())
+
+ messages.warning(request, lock_message, extra_tags='lock')
+
+ elif page_perms.page_locked():
+ if page.locked_by and page.locked_at:
+ lock_message = format_html(_("Page '{}' was locked by {} on {}."), page.get_admin_display_title(), str(page.locked_by), page.locked_at.strftime("%d %b %Y %H:%M"))
+ else:
+ # Page was probably locked with an old version of Wagtail, or a script
+ lock_message = format_html(_("Page '{}' is locked."), page.get_admin_display_title())
+
+ messages.error(request, lock_message, extra_tags='lock')
next_url = get_valid_next_url_from_request(request)