diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 45b59f9b8ece81963e2468d78837f389b3a972e8..e046107178d92f55f586aa0ab7876ad6bdc501cc 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -3722,6 +3722,9 @@ static void HWR_Subsector(size_t num)
 
 		while (count--)
 		{
+#ifdef POLYOBJECTS
+				if (!line->polyseg) // ignore segs that belong to polyobjects
+#endif
 				HWR_AddLine(line);
 				line++;
 		}
diff --git a/src/r_bsp.c b/src/r_bsp.c
index 44cb991a7000fbea276aa64b1e8f07d5d1314254..abb11204a60233a8e59faf5f6618fc4fe09938b0 100644
--- a/src/r_bsp.c
+++ b/src/r_bsp.c
@@ -1222,6 +1222,9 @@ static void R_Subsector(size_t num)
 	while (count--)
 	{
 //		CONS_Debug(DBG_GAMELOGIC, "Adding normal line %d...(%d)\n", line->linedef-lines, leveltime);
+#ifdef POLYOBJECTS
+		if (!line->polyseg) // ignore segs that belong to polyobjects
+#endif
 		R_AddLine(line);
 		line++;
 		curline = NULL; /* cph 2001/11/18 - must clear curline now we're done with it, so stuff doesn't try using it for other things */