diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index cf68dff51a9aa59c825fa21573aa4f3bc899223c..78be415af01eecf0ba23066663526a6936bcfd0b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -15,6 +15,7 @@ Fixed
 * Remove left-over reference to preferences in a form definition that caused
   form extensions in downstream apps to break
 * Allow non-LDAP users to authenticate if LDAP is used with password handling
+* Additional button on progress page for background tasks was shown even if the task failed.
 
 `2.4`_ – 2021-12-24
 -------------------
diff --git a/aleksis/core/static/js/progress.js b/aleksis/core/static/js/progress.js
index 9be718b7e67f30e8cc77a436755e50f08b540fd3..0b2509006029421273159617c9ff2646bb12800b 100644
--- a/aleksis/core/static/js/progress.js
+++ b/aleksis/core/static/js/progress.js
@@ -47,6 +47,7 @@ function customSuccess(progressBarElement, progressBarMessageElement) {
     $("#result-icon").text("check_circle");
     $("#result-text").text(OPTIONS.success);
     $("#result-box").show();
+    $("#result-button").show();
     const redirect = "redirect_on_success" in OPTIONS && OPTIONS.redirect_on_success;
     if (redirect) {
         window.location.replace(OPTIONS.redirect_on_success);
diff --git a/aleksis/core/templates/core/pages/progress.html b/aleksis/core/templates/core/pages/progress.html
index 799f1f93648ab1de05be3f9432653b8c4e8b1466..fca1ddfc2ebe5980ee132de77bdf1baafce24ae0 100644
--- a/aleksis/core/templates/core/pages/progress.html
+++ b/aleksis/core/templates/core/pages/progress.html
@@ -47,7 +47,7 @@
           {% trans "Go back" %}
         </a>
         {% if additional_button %}
-          <a class="btn waves-effect waves-light" href="{{ additional_button.href }}">
+          <a class="btn waves-effect waves-light" href="{{ additional_button.href }}" id="result-button" style="display: none;">
             <i class="material-icons left">{{ additional_button.icon|default:"" }}</i>
             {{ additional_button.caption }}
           </a>