diff --git a/Source/Plugins/3DFloorMode/BuilderPlug.cs b/Source/Plugins/3DFloorMode/BuilderPlug.cs
index e927e323c64c327ebcc97d9fbf3ddb2d4dc12e93..86c075608e4eb712a26f50ecf7298639385b8ba3 100644
--- a/Source/Plugins/3DFloorMode/BuilderPlug.cs
+++ b/Source/Plugins/3DFloorMode/BuilderPlug.cs
@@ -769,6 +769,10 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
 			// Build a dictionary of tags used by 3D floor action and which control sector they belong to
 			foreach (Linedef ld in General.Map.Map.Linedefs)
 			{
+				// Make sure the front sector is managed by the 3D floor plugin
+				if (ld.Front == null || ld.Front.Sector == null || ld.Front.Sector.IsDisposed || (General.Map.UDMF && ld.Front.Sector.Fields.GetValue("user_managed_3d_floor", false) == false))
+					continue;
+
 				if (ld.Action == 160 && ld.Args[0] != 0)
 				{
 					if (!tags.ContainsKey(ld.Args[0]))
diff --git a/Source/Plugins/3DFloorMode/ThreeDFloorMode.cs b/Source/Plugins/3DFloorMode/ThreeDFloorMode.cs
index 0aa85e90676014b339afcab403cdf86c334d66d0..c0a0b2d2ae27dbcd9175c3d60d50c27ba2d62445 100644
--- a/Source/Plugins/3DFloorMode/ThreeDFloorMode.cs
+++ b/Source/Plugins/3DFloorMode/ThreeDFloorMode.cs
@@ -1533,7 +1533,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
 			{
 				if (tdf.Sector.BBox.Width > BuilderPlug.Me.ControlSectorArea.SectorSize || tdf.Sector.BBox.Height > BuilderPlug.Me.ControlSectorArea.SectorSize)
 				{
-					General.Interface.DisplayStatus(StatusType.Warning, string.Format("Control sector {0} exceeds horizontal or vertical dimenstion of {1}. Aborted", tdf.Sector.Index, BuilderPlug.Me.ControlSectorArea.SectorSize));
+					General.Interface.DisplayStatus(StatusType.Warning, string.Format("Control sector {0} exceeds horizontal or vertical dimension of {1}. Aborted", tdf.Sector.Index, BuilderPlug.Me.ControlSectorArea.SectorSize));
 					return;
 				}
 			}