diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
index e9538bd38937..bbc5926a5301 100644
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -1601,6 +1601,12 @@ var BookmarkingUI = {
let isBookmarked = this._itemGuids.size > 0;
if (!isBookmarked) {
BrowserUtils.setToolbarButtonHeightProperty(this.star);
+ // there are no other animations on this element, so we can simply
+ // listen for animationend with the "once" option to clean up
+ let animatableBox = document.getElementById("star-button-animatable-box");
+ animatableBox.addEventListener("animationend", event => {
+ this.star.removeAttribute("animate");
+ }, { once: true });
this.star.setAttribute("animate", "true");
}
PlacesCommandHook.bookmarkPage(gBrowser.selectedBrowser, true);
diff --git a/browser/themes/shared/icons/bookmark-animation.svg b/browser/themes/shared/icons/bookmark-animation.svg
index 3af2ff65ab14..e3bff34c6f7e 100644
--- a/browser/themes/shared/icons/bookmark-animation.svg
+++ b/browser/themes/shared/icons/bookmark-animation.svg
@@ -516,27 +516,4 @@
-