 	    }
     }
 
-    vec4 positionWC = vec4(endPointWC.xy + direction * expandWidth * expandDir, -endPointWC.z, 1.0);
-    gl_Position = czm_viewportOrthographic * positionWC * show;
+    vec4 positionWC = vec4(endPointWC.xy + direction * expandWidth * expandDir, endPointWC.zw);
+    gl_Position = czm_projection * czm_windowToEyeCoordinates(positionWC) * show;
     
 #ifndef RENDER_FOR_PICK
     vec3 alphas = czm_decodeColor(color.b);

        nextEC = czm_modelView * nextDir;
        p1 = czm_eyeToWindowCoordinates(vec4(positionEC.xyz + nextEC.xyz * pixelSize, 1.0));
        nextWC = normalize(p1.xy - endPointWC.xy);
        direction = -normalize(vec2(nextWC.y, -nextWC.x));
    }
    else if (czm_equalsEpsilon(nextDir, vec4(0.0), czm_epsilon7))
    {

attribute vec4 next;
attribute vec4 color;
attribute vec4 misc;

#ifndef RENDER_FOR_PICK
varying vec4 v_color;
