diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index b780ff75f02b2eab69886c10575428cdb661dc97..7b325b6287172a98684cf046c2c958cffe435ba3 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -2417,6 +2417,7 @@ linedeftypes
 			prefix = "(439)";
 			flags8text = "[3] Set delay by backside sector";
 			flags64text = "[6] Only existing";
+			flags8192text = "[13] Use backside textures";
 		}
 
 		440
diff --git a/src/p_spec.c b/src/p_spec.c
index ebabe6a7988ff38047ae4aa071032dbc20fca44d..ade4339b9d4cda0575b4795e2cfc4abe12c5292e 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -2093,7 +2093,7 @@ void P_SwitchWeather(INT32 weathernum)
 	{
 		case PRECIP_SNOW: // snow
 			curWeather = PRECIP_SNOW;
-			
+
 			if (purge)
 				P_SpawnPrecipitation();
 
@@ -2997,6 +2997,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
 				size_t linenum;
 				side_t *set = &sides[line->sidenum[0]], *this;
 				boolean always = !(line->flags & ML_NOCLIMB); // If noclimb: Only change mid texture if mid texture already exists on tagged lines, etc.
+				boolean backside = line->flags & ML_EFFECT6 && line->sidenum[1] != 0xffff; // If Effect 6 is set, use backside textures if provided
 
 				for (linenum = 0; linenum < numlines; linenum++)
 				{
@@ -3015,6 +3016,9 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
 					if (lines[linenum].sidenum[1] == 0xffff)
 						continue; // One-sided stops here.
 
+					if (backside)
+						set = &sides[line->sidenum[1]];
+
 					// Back side
 					this = &sides[lines[linenum].sidenum[1]];
 					if (always || this->toptexture) this->toptexture = set->toptexture;