diff --git a/plugins/_collections.js b/plugins/_collections.js
index feab67bfc..57376150e 100644
--- a/plugins/_collections.js
+++ b/plugins/_collections.js
@@ -124,6 +124,7 @@ export const attrsGroups = {
animationAddition: new Set(['additive', 'accumulate']),
animationAttributeTarget: new Set(['attributeType', 'attributeName']),
animationEvent: new Set(['onbegin', 'onend', 'onrepeat', 'onload']),
+ animationTargetElement: new Set(['href']),
animationTiming: new Set([
'begin',
'dur',
@@ -499,6 +500,7 @@ export const elems = {
'animationAddition',
'animationAttributeTarget',
'animationEvent',
+ 'animationTargetElement',
'animationTiming',
'animationValue',
'conditionalProcessing',
@@ -528,6 +530,7 @@ export const elems = {
attrsGroups: new Set([
'animationAddition',
'animationEvent',
+ 'animationTargetElement',
'animationTiming',
'animationValue',
'conditionalProcessing',
@@ -552,6 +555,7 @@ export const elems = {
'animationAddition',
'animationAttributeTarget',
'animationEvent',
+ 'animationTargetElement',
'animationTiming',
'animationValue',
'conditionalProcessing',
@@ -1748,6 +1752,7 @@ export const elems = {
attrsGroups: new Set([
'animation',
'animationAttributeTarget',
+ 'animationTargetElement',
'animationTiming',
'conditionalProcessing',
'core',
diff --git a/test/plugins/removeUnknownsAndDefaults.18.svg.txt b/test/plugins/removeUnknownsAndDefaults.18.svg.txt
new file mode 100644
index 000000000..8a81c4127
--- /dev/null
+++ b/test/plugins/removeUnknownsAndDefaults.18.svg.txt
@@ -0,0 +1,49 @@
+Preserve both xlink:href and href attributes in animation elements.
+
+See: https://github.com/svg/svgo/issues/2061
+
+===
+
+
+
+@@@
+
+