diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 0793bdab5db61d43526060dd7789dd201dc61585..1558ba48856e31a4dc993c3259fe7ce439570a10 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -792,6 +792,7 @@ void LLPipeline::allocatePhysicsBuffer()
 
 	if (mPhysicsDisplay.getWidth() != resX || mPhysicsDisplay.getHeight() != resY)
 	{
+		mPhysicsDisplay.release();
 		mPhysicsDisplay.allocate(resX, resY, GL_RGBA, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE);
 	}
 }