diff --git a/src/p_map.cpp b/src/p_map.cpp
index 367e8d3c3..ca83d342d 100644
--- a/src/p_map.cpp
+++ b/src/p_map.cpp
@@ -6651,9 +6651,9 @@ void P_CreateSecNodeList(AActor *thing)
 void P_LinkRenderSectors(AActor* thing)
 {
 	// if this thing has RenderStyle None, don't link it anywhere.
-	if (thing->renderradius != 0)
+	if (thing->renderradius >= 0)
 	{
-		FBoundingBox box(thing->X(), thing->Y(), thing->renderradius > 0 ? thing->renderradius : thing->renderradius);
+		FBoundingBox box(thing->X(), thing->Y(), std::max(thing->radius, thing->renderradius));
 		FBlockLinesIterator it(box);
 		line_t *ld;
 
@@ -6702,7 +6702,7 @@ void P_LinkRenderSectors(AActor* thing)
 
 void P_UnlinkRenderSectors(AActor* thing)
 {
-	if (thing->renderradius != 0)
+	if (thing->renderradius >= 0)
 	{
 		if (thing->touching_render_sectors)
 		{
diff --git a/wadsrc/static/zscript/actor.txt b/wadsrc/static/zscript/actor.txt
index 34bc9d359..2ced709ae 100644
--- a/wadsrc/static/zscript/actor.txt
+++ b/wadsrc/static/zscript/actor.txt
@@ -202,7 +202,7 @@ class Actor : Thinker native
 		Health DEFAULT_HEALTH;
 		Reactiontime 8;
 		Radius 20;
-                RenderRadius -1;
+                RenderRadius 0;
 		Height 16;
 		Mass 100;
 		RenderStyle 'Normal';