diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index 98ff36c363fd2d987a11b339f7c348dd607e6670..ee2d57a5629b05a56198beb2b173762c29f7d0aa 100755
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -5970,7 +5970,10 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)
 	}
 	else
 	{ //degenerate, make up a value
-		normal.set(0,0,1);
+		if(normal.getF32ptr()[2] >= 0)
+			normal.set(0.f,0.f,1.f);
+		else
+			normal.set(0.f,0.f,-1.f);
 	}
 
 	llassert(llfinite(normal.getF32ptr()[0]));