diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index 14d157fe61..3fdf0563da 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -158,6 +158,7 @@
+
@@ -181,13 +182,14 @@
+
-
+
@@ -259,6 +261,8 @@
+
+
@@ -270,6 +274,8 @@
+
+
@@ -279,6 +285,7 @@
+
diff --git a/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs b/OpenRA.Mods.Common/Traits/Air/TargetableAircraft.cs
similarity index 95%
rename from OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs
rename to OpenRA.Mods.Common/Traits/Air/TargetableAircraft.cs
index 0c0106173a..7c0b8437f0 100644
--- a/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs
+++ b/OpenRA.Mods.Common/Traits/Air/TargetableAircraft.cs
@@ -9,10 +9,9 @@
#endregion
using System.Collections.Generic;
-using OpenRA.Mods.RA;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
public class TargetableAircraftInfo : TargetableUnitInfo
{
diff --git a/OpenRA.Mods.RA/Traits/Buildings/TargetableBuilding.cs b/OpenRA.Mods.Common/Traits/Buildings/TargetableBuilding.cs
similarity index 95%
rename from OpenRA.Mods.RA/Traits/Buildings/TargetableBuilding.cs
rename to OpenRA.Mods.Common/Traits/Buildings/TargetableBuilding.cs
index dee814d7f9..b81b42af73 100644
--- a/OpenRA.Mods.RA/Traits/Buildings/TargetableBuilding.cs
+++ b/OpenRA.Mods.Common/Traits/Buildings/TargetableBuilding.cs
@@ -10,10 +10,9 @@
using System.Collections.Generic;
using System.Linq;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
public class TargetableBuildingInfo : ITraitInfo, ITargetableInfo, Requires
{
diff --git a/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs b/OpenRA.Mods.Common/Traits/Render/RenderBuildingSilo.cs
similarity index 96%
rename from OpenRA.Mods.RA/Render/RenderBuildingSilo.cs
rename to OpenRA.Mods.Common/Traits/Render/RenderBuildingSilo.cs
index 70401dcf58..c294a4cb70 100644
--- a/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs
+++ b/OpenRA.Mods.Common/Traits/Render/RenderBuildingSilo.cs
@@ -11,10 +11,9 @@
using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Graphics;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
class RenderBuildingSiloInfo : RenderBuildingInfo
{
diff --git a/OpenRA.Mods.RA/Render/RenderBuildingWall.cs b/OpenRA.Mods.Common/Traits/Render/RenderBuildingWall.cs
similarity index 97%
rename from OpenRA.Mods.RA/Render/RenderBuildingWall.cs
rename to OpenRA.Mods.Common/Traits/Render/RenderBuildingWall.cs
index 3c04d4fa80..ea950e3681 100644
--- a/OpenRA.Mods.RA/Render/RenderBuildingWall.cs
+++ b/OpenRA.Mods.Common/Traits/Render/RenderBuildingWall.cs
@@ -12,10 +12,9 @@ using System.Collections.Generic;
using System.Linq;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Graphics;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
class RenderBuildingWallInfo : RenderBuildingInfo
{
diff --git a/OpenRA.Mods.RA/Traits/SeedsResource.cs b/OpenRA.Mods.Common/Traits/SeedsResource.cs
similarity index 97%
rename from OpenRA.Mods.RA/Traits/SeedsResource.cs
rename to OpenRA.Mods.Common/Traits/SeedsResource.cs
index 2aa7cf4cd9..a18fe47da3 100644
--- a/OpenRA.Mods.RA/Traits/SeedsResource.cs
+++ b/OpenRA.Mods.Common/Traits/SeedsResource.cs
@@ -11,11 +11,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Support;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Lets the actor spread resources around it in a circle.")]
class SeedsResourceInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/StoresResources.cs b/OpenRA.Mods.Common/Traits/StoresResources.cs
similarity index 98%
rename from OpenRA.Mods.RA/StoresResources.cs
rename to OpenRA.Mods.Common/Traits/StoresResources.cs
index df7830332b..981b7954a4 100644
--- a/OpenRA.Mods.RA/StoresResources.cs
+++ b/OpenRA.Mods.Common/Traits/StoresResources.cs
@@ -12,7 +12,7 @@ using System.Collections.Generic;
using System.Linq;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Used for silos.")]
class StoresResourcesInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/Traits/TargetableUnit.cs b/OpenRA.Mods.Common/Traits/TargetableUnit.cs
similarity index 95%
rename from OpenRA.Mods.RA/Traits/TargetableUnit.cs
rename to OpenRA.Mods.Common/Traits/TargetableUnit.cs
index 3a15013599..8bd289163b 100644
--- a/OpenRA.Mods.RA/Traits/TargetableUnit.cs
+++ b/OpenRA.Mods.Common/Traits/TargetableUnit.cs
@@ -9,10 +9,9 @@
#endregion
using System.Collections.Generic;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Actor can be targeted.")]
public class TargetableUnitInfo : ITraitInfo, ITargetableInfo
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index fd9f49fe58..3010db4626 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -143,7 +143,6 @@
-
@@ -161,8 +160,6 @@
-
-
@@ -170,7 +167,6 @@
-
@@ -182,20 +178,17 @@
-
-
-