ARMapRenderer: Do not null-set relay because we are no longer looping. Bail out and log whenever target relays or their vessels are null and the target relay isn't KerbinDirect.
ARMapRenderer: Do not null-set relay because we are no longer looping. Bail out and log whenever target relays or their vessels are null and the target relay isn't KerbinDirect.

--- a/ARMapRenderer.cs
+++ b/ARMapRenderer.cs
@@ -274,18 +274,21 @@
 			if (relay.KerbinDirect)
 			{
 				nextPoint = ScaledSpace.LocalToScaledSpace(AntennaRelay.Kerbin.position);
-				relay = null;
 			}
 			else
 			{
-				if (relay.targetRelay == null)
-				{
+				if (relay.targetRelay == null || relay.targetRelay.vessel == null)
+				{
+					this.LogError(
+						"SetRelayVertices: relay {0} has null target relay or vessel when not KerbinDirect, bailing out!",
+						relay
+					);
+
 					renderer.enabled = false;
 					return;
 				}
 
 				nextPoint = ScaledSpace.LocalToScaledSpace(relay.targetRelay.vessel.GetWorldPos3D());
-				relay = relay.targetRelay;
 			}
 
 			renderer.SetColors(thisColor, thisColor);