diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp
index 1a0103e8f0820e5c5742c302133061015c8463cc..9a114609d2dee162bb2547026fa9596cae33046e 100644
--- a/indra/llrender/llrendernavprim.cpp
+++ b/indra/llrender/llrendernavprim.cpp
@@ -67,7 +67,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L
 	}
 	LLGLDisable cull(GL_CULL_FACE);
 	LLColor4 colorA( color );	
-	colorA*=1.5f;
+	colorA*=1.25f;
 	gGL.color4fv( colorA.mV );		
 	LLGLSLShader::sNoFixedFunction = false;
 	gGL.begin(LLRender::TRIANGLES);
@@ -86,11 +86,22 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L
 void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt )
 {
 	glLineWidth(1.5f);		
-	glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
-	LLGLDisable cull(GL_CULL_FACE);	
 	LLGLSLShader::sNoFixedFunction = false;
-	pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX  );
-	pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );
+
+	LLGLEnable depth(GL_DEPTH_TEST);        
+	glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
+	LLGLEnable cull( GL_CULL_FACE );	
+	
+	//pass 1 filled
+	pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL );
+	pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );	
+	//glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );	
+	//static GLubyte red[]= { 255.0f, 0.0f, 0.0f, 255.0f };
+	//glColor4ubv( red );										
+	//pass 2 outlined
+	//pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );	
 	LLGLSLShader::sNoFixedFunction = true;
+	glLineWidth(1.0f);		
+	glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
 }
 //=============================================================================
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 3cc025462b288321b78f357f029a3ac9c3217719..85896c74dd4de813294259cace7f8b5e5eee0f31 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -915,24 +915,15 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
 					//Navmesh
 					if ( LLPathingLib::getInstance()->getRenderNavMeshState() )
 					{
-						glClearColor(0.0f, 0.0f, 0.0f, 0.5f);          
-												
+						glClearColor(0.0f, 0.0f, 0.0f, 0.5f);          												
 						glEnable(GL_DEPTH_TEST);                        
-						gGL.setSceneBlendType( LLRender::BT_ALPHA );
 						gGL.setAmbientLightColor( LLColor4::white );
 						LLPathingLib::getInstance()->renderNavMesh( allowRenderables );
 						exclusiveDraw = true;
 					}
 					//physics/exclusion shapes
 					if ( LLPathingLib::getInstance()->getRenderShapeState() )
-					{
-						glEnable(GL_DEPTH_TEST);                        
-						gGL.setSceneBlendType( LLRender::BT_REPLACE );      
-						GLfloat LightAmbient[]= { 0.5f, 0.5f, 0.5f, 1.0f };     
-						glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);	
-						LLGLSUIDefault texture_state;
-						LLGLDepthTest gls_depth(GL_TRUE);
-						gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);	
+					{						
 						LLPathingLib::getInstance()->renderNavMeshShapesVBO();
 						exclusiveDraw = true;
 					}