diff --git a/beat/web/accounts/views.py b/beat/web/accounts/views.py
index 12218ed7bc0755aa42f1ff8d133b88d50f7da239..031591a47891212ff2939cf06a05033bcebf3960 100644
--- a/beat/web/accounts/views.py
+++ b/beat/web/accounts/views.py
@@ -139,6 +139,15 @@ def account_settings(request):
                    'token' : user.auth_token})
 
 
+def generate_load_response(request, temp_url, template, parameters):
+    answer = {}
+    answer["template"] = template
+    answer["parameters"] = parameters
+
+    temp_url.delete()
+
+    return render(request, answer["template"], answer["parameters"])
+
 def load_temporary_url(request, hash_url):
     temp_url = get_object_or_404(TemporaryUrl, url_hash=hash_url)
     supervisiontrack = temp_url.supervision_track
@@ -178,15 +187,10 @@ def load_temporary_url(request, hash_url):
                             context,
                             [supervisee.email])
 
-            temp_url.delete()
-            return render(request,
-                          'accounts/url_validation.html',
-                          {'supervisiontrack': supervisiontrack})
+            return generate_load_response(request, temp_url, "accounts/url_validation.html", {"supervisiontrack": supervisiontrack})
         else:
             #Track already valid
-            temp_url.delete()
-            return render(request,
-                          'accounts/url_validation_failed.html')
+            return generate_load_response(request, temp_url, "accounts/url_validation_failed.html", {})
     elif temp_url.status == TemporaryUrl.YEARREVALIDATION:
         # Supervisee re-validation
         if supervisee.profile.supervision_key is not None and now < temp_url.expires:
@@ -220,18 +224,12 @@ def load_temporary_url(request, hash_url):
                 else:
                     #Track already valid
                     error_message = "You don't need to revalidate at the moment, your supervision is still valid"
-                    temp_url.delete()
-                    return render(request,
-                                  'accounts/url_revalidation_failed.html',
-                                  {'error_message': error_message})
+                    return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message})
 
             else:
                 #A pending request already exist
                 error_message = "You are not able to perform this action as you already have a pending supervision request"
-                temp_url.delete()
-                return render(request,
-                              'accounts/url_revalidation_failed.html',
-                              {'error_message': error_message})
+                return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message})
 
         else:
             #No key is present in supervisee
@@ -247,18 +245,10 @@ def load_temporary_url(request, hash_url):
 
             #Not allowed to do this (unproper profile.status)
             error_message = "You are not allowed to perform this action, you first need to get a valid supervision"
-            temp_url.delete()
-            return render(request,
-                          'accounts/url_revalidation_failed.html',
-                          {'error_message': error_message})
+            return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message})
 
-        temp_url.delete()
-        return render(request,
-                      'accounts/url_validation.html',
-                      {'supervisiontrack': supervisiontrack})
+        return generate_load_response(request, temp_url, "accounts/url_validation.html", {'supervisiontrack': supervisiontrack})
 
     else:
             #Track already valid
-            temp_url.delete()
-            return render(request,
-                          'accounts/url_validation_failed.html')
+            return generate_load_response(request, temp_url, "accounts/url_validation_failed.html", {})