diff --git a/src/linker/Linker.Steps/BlacklistStep.cs b/src/linker/Linker.Steps/BlacklistStep.cs
index 3905c0ff4438..89b7429dea65 100644
--- a/src/linker/Linker.Steps/BlacklistStep.cs
+++ b/src/linker/Linker.Steps/BlacklistStep.cs
@@ -93,6 +93,7 @@ bool ShouldProcessAssemblyResource (string name)
case AssemblyAction.Link:
case AssemblyAction.AddBypassNGen:
case AssemblyAction.AddBypassNGenUsed:
+ case AssemblyAction.Copy:
return true;
default:
return false;
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.cs b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.cs
new file mode 100644
index 000000000000..0f7fda126a6c
--- /dev/null
+++ b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlFromCopyAssemblyIsProcessed
+{
+ public class CopyLibrary {
+ public void Method ()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.xml b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.xml
new file mode 100644
index 000000000000..fc96b13c6920
--- /dev/null
+++ b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/OtherLibrary.cs b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/OtherLibrary.cs
new file mode 100644
index 000000000000..24f59a2d39f7
--- /dev/null
+++ b/test/Mono.Linker.Tests.Cases/LinkXml/Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/OtherLibrary.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlFromCopyAssemblyIsProcessed
+{
+ public class OtherLibrary {
+ public void Method ()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlFromCopyAssemblyIsProcessed.cs b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlFromCopyAssemblyIsProcessed.cs
new file mode 100644
index 000000000000..9bddcaae3be4
--- /dev/null
+++ b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlFromCopyAssemblyIsProcessed.cs
@@ -0,0 +1,23 @@
+using Mono.Linker.Tests.Cases.Expectations.Assertions;
+using Mono.Linker.Tests.Cases.Expectations.Metadata;
+using Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlFromCopyAssemblyIsProcessed;
+
+namespace Mono.Linker.Tests.Cases.LinkXml {
+ [SetupCompileBefore ("Library.dll",
+ new [] { "Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/OtherLibrary.cs" })]
+ [SetupCompileBefore ("CopyLibrary.dll",
+ new [] { "Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.cs" },
+ resources: new [] { "Dependencies/EmbeddedLinkXmlFromCopyAssemblyIsProcessed/CopyLibrary.xml"})]
+ [IncludeBlacklistStep (true)]
+ [SetupLinkerAction ("copy", "CopyLibrary")]
+
+ [KeptTypeInAssembly ("CopyLibrary.dll", typeof (CopyLibrary))]
+ [KeptTypeInAssembly ("Library.dll", typeof (OtherLibrary))]
+ public class EmbeddedLinkXmlFromCopyAssemblyIsProcessed {
+ public static void Main ()
+ {
+ var tmp = new CopyLibrary ();
+ tmp.Method ();
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj b/test/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj
index feb9fa1f2556..1039e771e119 100644
--- a/test/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj
+++ b/test/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj
@@ -63,6 +63,7 @@
+