diff --git a/hiboo/profile/templates/profile_list.html b/hiboo/profile/templates/profile_list.html
index 9058bdb852f0c15c83ffe95a3ab810617c9ec2dc..f5ff7229fc852572339aaa027f1533519f3cd411 100644
--- a/hiboo/profile/templates/profile_list.html
+++ b/hiboo/profile/templates/profile_list.html
@@ -47,6 +47,9 @@
               {% for transition, (_, _, _, _, label) in profile.transitions(current_user).items() %}
               <a href="{{ url_for("profile.start_transition", profile_uuid=profile.uuid, transition=transition) }}">{{ label | capitalize }}</a>
               {% endfor %}
+              {% if profile.transition_step %}
+              <a href="{{ url_for("profile.cancel_transition", profile_uuid=profile.uuid) }}">{% trans %}Cancel{% endtrans %}</a>
+              {% endif %}
             </td>
           </tr>
           {% endfor %}
diff --git a/hiboo/profile/views.py b/hiboo/profile/views.py
index 2814a97f0aefed5f07e3a899da539a9b736cc5da..6d84754c289fcf210c2626ce5d402922a0c5d50d 100644
--- a/hiboo/profile/views.py
+++ b/hiboo/profile/views.py
@@ -188,7 +188,20 @@ def start_transition(profile_uuid, transition):
     return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid))
 
 
-@blueprint.route("/transition/<profile_uuid>", methods=["GET", "POST"])
+@blueprint.route("/transition/<profile_uuid>/cancel", methods=["GET", "POST"])
+@security.confirmation_required("cancel the profile status change")
+@security.admin_required()
+def cancel_transition(profile_uuid):
+    profile = models.Profile.query.get(profile_uuid) or flask.abort(404)
+    profile.transition = None
+    profile.transition_step = None
+    profile.transition_time = None
+    models.db.session.commit()
+    flask.flash(_("Profile status change was cancelled"), "success")
+    return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid))
+
+
+@blueprint.route("/transition/<profile_uuid>/complete", methods=["GET", "POST"])
 @security.admin_required()
 def complete_transition(profile_uuid):
     profile = models.Profile.query.get(profile_uuid) or flask.abort(404)