diff --git a/django/views/debug.py b/django/views/debug.py
index ab66f56a97..624cc3e35f 100644
--- a/django/views/debug.py
+++ b/django/views/debug.py
@@ -85,6 +85,16 @@ def get_exception_reporter_class(request):
     return getattr(request, 'exception_reporter_class', default_exception_reporter_class)
 
 
+def get_caller(request):
+    resolver_match = request.resolver_match
+    if resolver_match is None:
+        try:
+            resolver_match = resolve(request.path)
+        except Http404:
+            pass
+    return '' if resolver_match is None else resolver_match._func_path
+
+
 class SafeExceptionReporterFilter:
     """
     Use annotations made by the sensitive_post_parameters and
@@ -536,13 +546,6 @@ def technical_404_response(request, exception):
     if isinstance(urlconf, types.ModuleType):
         urlconf = urlconf.__name__
 
-    resolver_match = request.resolver_match
-    if resolver_match is None:
-        try:
-            resolver_match = resolve(request.path)
-        except Http404:
-            pass
-
     with builtin_template_path('technical_404.html').open(encoding='utf-8') as fh:
         t = DEBUG_ENGINE.from_string(fh.read())
     reporter_filter = get_default_exception_reporter_filter()
@@ -555,7 +558,7 @@ def technical_404_response(request, exception):
         'reason': str(exception),
         'request': request,
         'settings': reporter_filter.get_safe_settings(),
-        'raising_view_name': '' if resolver_match is None else resolver_match._func_path,
+        'raising_view_name': get_caller(request),
     })
     return HttpResponseNotFound(t.render(c), content_type='text/html')