diff --git a/flatland/utils/rendertools.py b/flatland/utils/rendertools.py
index bd4c02f83b313f31ca70329fc20bfc7fa73a46d8..ea1e00bbe5ca32cf0d070ce51834d9056e5c6bdf 100644
--- a/flatland/utils/rendertools.py
+++ b/flatland/utils/rendertools.py
@@ -180,19 +180,15 @@ class RenderTool(object):
             for x, y in transition_xy:
                 self.gl.text(x, y, depth)
 
-    def draw_transition(self, origin, destination, color="gray"):
-        self.gl.plot(
-            [origin[0], destination[0]],  # x
-            [origin[1], destination[1]],  # y
-            color=color
-        )
-
-    def draw_transition_2(self,
-                          line, center,
-                          rotation, dead_end=False,
-                          color="gray",
-                          arrow=True,
-                          spacing=0.1):
+    def draw_transition(self,
+                        line,
+                        center,
+                        rotation,
+                        dead_end=False,
+                        curves=False,
+                        color="gray",
+                        arrow=True,
+                        spacing=0.1):
         """
         gLine is a numpy 2d array of points,
         in the plotting space / coords.
@@ -201,6 +197,15 @@ class RenderTool(object):
         from x=0, y=0.5
         to   x=1, y=0.2
         """
+
+        if not curves and not dead_end:
+            self.gl.plot(
+                [line[0][0], line[1][0]],  # x
+                [line[0][1], line[1][1]],  # y
+                color=color
+            )
+            return
+
         rt = self.__class__
         straight = rotation in [0, 2]
         dx, dy = np.squeeze(np.diff(line, axis=0)) * spacing / 2
@@ -362,35 +367,11 @@ class RenderTool(object):
                     for to_ori in range(4):
                         to_xy = coords[to_ori]
                         rotation = (to_ori - from_ori) % 4
-
                         if (moves[to_ori]):  # if we have this transition
-
-                            if is_dead_end:
-                                self.draw_transition_2(
-                                    array([from_xy, to_xy]), center_xy,
-                                    rotation, dead_end=True, spacing=spacing,
-                                    color=rail_color)
-
-                            else:
-
-                                if curves:
-                                    self.draw_transition_2(
-                                        array([from_xy, to_xy]), center_xy,
-                                        rotation, spacing=spacing, arrow=arrows,
-                                        color=rail_color)
-                                else:
-                                    self.draw_transition(self, from_xy, to_xy, color=rail_color)
-
-                            if False:
-                                print(
-                                    "r,c,ori: ", row, col, orientation,
-                                    "cell:", "{0:b}".format(cell),
-                                    "moves:", moves,
-                                    "from:", from_ori, from_xy,
-                                    "to: ", to_ori, to_xy,
-                                    "cen:", *center_xy,
-                                    "rot:", rotation,
-                                )
+                            self.draw_transition(
+                                array([from_xy, to_xy]), center_xy,
+                                rotation, dead_end=is_dead_end, curves=curves and not is_dead_end, spacing=spacing,
+                                color=rail_color)
 
     def render_env(self,
                    show=False,  # whether to call matplotlib show() or equivalent after completion