diff --git a/src/p_spec.c b/src/p_spec.c
index f3be86ee1c3b9f4a9be69b6d911644cc8614d5e9..d4ead74feb96ada09f84a6160921b1950d40638b 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -4973,6 +4973,10 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, f
 	// Add slopes
 	ffloor->t_slope = &sec2->c_slope;
 	ffloor->b_slope = &sec2->f_slope;
+	// mark the target sector as having slopes, if the FOF has any of its own
+	// (this fixes FOF slopes glitching initially at level load in software mode)
+	if (sec2->hasslope)
+		sec->hasslope = true;
 #endif
 
 	if ((flags & FF_SOLID) && (master->flags & ML_EFFECT1)) // Block player only