diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index f457fe9721000f0efc7b690b13250387a42cb355..0ca8a6715506274fafbac747c772871a8b6e0ab7 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -2950,8 +2950,10 @@ linedeftypes
 			prefix = "(700)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 1;
+			copyslopeargs = 1;
 		}
 
 		701
@@ -2960,8 +2962,10 @@ linedeftypes
 			prefix = "(701)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 2;
+			copyslopeargs = 4;
 		}
 
 		702
@@ -2970,8 +2974,10 @@ linedeftypes
 			prefix = "(702)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 3;
+			copyslopeargs = 5;
 		}
 
 		703
@@ -2980,8 +2986,10 @@ linedeftypes
 			prefix = "(703)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 9;
+			copyslopeargs = 8;
 		}
 
 		704
@@ -3012,8 +3020,10 @@ linedeftypes
 			prefix = "(710)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 4;
+			copyslopeargs = 2;
 		}
 
 		711
@@ -3022,8 +3032,10 @@ linedeftypes
 			prefix = "(711)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 8;
+			copyslopeargs = 8;
 		}
 
 		712
@@ -3032,8 +3044,10 @@ linedeftypes
 			prefix = "(712)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 12;
+			copyslopeargs = 10;
 		}
 
 		713
@@ -3042,8 +3056,10 @@ linedeftypes
 			prefix = "(713)";
 			flags2048text = "[11] No physics";
 			flags4096text = "[12] Dynamic";
+			flags32768text = "[15] Copy to other side";
 			slope = "regular";
 			slopeargs = 6;
+			copyslopeargs = 6;
 		}
 
 		714
diff --git a/src/p_setup.c b/src/p_setup.c
index e10ba774e65ce28c5a302329b5fa88bdfc6d31e9..588815aeead2d932e22fea91951d094de04bc7f1 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -3227,6 +3227,12 @@ static void P_ConvertBinaryMap(void)
 			if (lines[i].flags & ML_NONET)
 				lines[i].args[2] |= TMSL_DYNAMIC;
 
+			if (lines[i].flags & ML_TFERLINE)
+			{
+					lines[i].args[4] |= backfloor ? TMSC_BACKTOFRONTFLOOR : (frontfloor ? TMSC_FRONTTOBACKFLOOR : 0);
+					lines[i].args[4] |= backceil ? TMSC_BACKTOFRONTCEILING : (frontceil ? TMSC_FRONTTOBACKCEILING : 0);
+			}
+
 			lines[i].special = 700;
 			break;
 		}
diff --git a/src/p_slopes.c b/src/p_slopes.c
index 41cfbf3373dac2494addbd35ce7f14aab4012030..bfca153a628c8246fb5c6a2629e6d609115b7a13 100644
--- a/src/p_slopes.c
+++ b/src/p_slopes.c
@@ -701,6 +701,9 @@ void P_SpawnSlopes(const boolean fromsave) {
 	for (i = 0; i < numlines; i++)
 		switch (lines[i].special)
 		{
+			case 700:
+				if (lines[i].flags & ML_TFERLINE) P_CopySectorSlope(&lines[i]);
+				break;
 			case 720:
 				P_CopySectorSlope(&lines[i]);
 			default: