diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index e8858e3933..2d7c892cde 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -233,6 +233,7 @@
+
@@ -330,7 +331,10 @@
+
+
+
@@ -377,6 +381,7 @@
+
diff --git a/OpenRA.Mods.RA/Invulnerable.cs b/OpenRA.Mods.Common/Traits/Invulnerable.cs
similarity index 94%
rename from OpenRA.Mods.RA/Invulnerable.cs
rename to OpenRA.Mods.Common/Traits/Invulnerable.cs
index 28add78a15..8962b96fe7 100644
--- a/OpenRA.Mods.RA/Invulnerable.cs
+++ b/OpenRA.Mods.Common/Traits/Invulnerable.cs
@@ -11,7 +11,7 @@
using OpenRA.GameRules;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Traits
{
[Desc("This unit cannot be damaged.")]
class InvulnerableInfo : TraitInfo { }
diff --git a/OpenRA.Mods.RA/DisableUpgrade.cs b/OpenRA.Mods.Common/Traits/Upgrades/DisableUpgrade.cs
similarity index 94%
rename from OpenRA.Mods.RA/DisableUpgrade.cs
rename to OpenRA.Mods.Common/Traits/Upgrades/DisableUpgrade.cs
index 4cd321e7f5..1a567ea310 100644
--- a/OpenRA.Mods.RA/DisableUpgrade.cs
+++ b/OpenRA.Mods.Common/Traits/Upgrades/DisableUpgrade.cs
@@ -11,10 +11,9 @@
using System;
using System.Collections.Generic;
using OpenRA.GameRules;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Traits
{
public class DisableUpgradeInfo : UpgradableTraitInfo, ITraitInfo
{
diff --git a/OpenRA.Mods.RA/GainsStatUpgrades.cs b/OpenRA.Mods.Common/Traits/Upgrades/GainsStatUpgrades.cs
similarity index 98%
rename from OpenRA.Mods.RA/GainsStatUpgrades.cs
rename to OpenRA.Mods.Common/Traits/Upgrades/GainsStatUpgrades.cs
index 231717af87..9aec86e9bb 100644
--- a/OpenRA.Mods.RA/GainsStatUpgrades.cs
+++ b/OpenRA.Mods.Common/Traits/Upgrades/GainsStatUpgrades.cs
@@ -11,10 +11,9 @@
using System;
using System.Collections.Generic;
using OpenRA.GameRules;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Traits
{
[Desc("This actor has properties that upgrade when a specific criteria is met.")]
public class GainsStatUpgradesInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/UpgradeActorsNear.cs b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs
similarity index 98%
rename from OpenRA.Mods.RA/UpgradeActorsNear.cs
rename to OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs
index 97779b9e68..468e164157 100644
--- a/OpenRA.Mods.RA/UpgradeActorsNear.cs
+++ b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeActorsNear.cs
@@ -11,10 +11,9 @@
using System;
using System.Collections.Generic;
using OpenRA.GameRules;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Applies an upgrade to actors within a specified range.")]
public class UpgradeActorsNearInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/Warheads/GrantUpgradeWarhead.cs b/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs
similarity index 95%
rename from OpenRA.Mods.RA/Warheads/GrantUpgradeWarhead.cs
rename to OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs
index 883eead2de..fb8976fd95 100644
--- a/OpenRA.Mods.RA/Warheads/GrantUpgradeWarhead.cs
+++ b/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs
@@ -12,11 +12,11 @@ using System.Collections.Generic;
using System.Linq;
using OpenRA.Effects;
using OpenRA.GameRules;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Traits;
-using OpenRA.Mods.RA.Effects;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Warheads
{
public class GrantUpgradeWarhead : Warhead
{
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index bd692b3b31..84f058cfd7 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -123,7 +123,6 @@
-
@@ -243,16 +242,12 @@
-
+
-
-
-
-
diff --git a/OpenRA.Mods.RA/InvulnerabilityUpgrade.cs b/OpenRA.Mods.RA/Traits/InvulnerabilityUpgrade.cs
similarity index 100%
rename from OpenRA.Mods.RA/InvulnerabilityUpgrade.cs
rename to OpenRA.Mods.RA/Traits/InvulnerabilityUpgrade.cs