diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index e3e605d040aae7aa7ed8bc808520e5bfe3ede00c..1312f6afda3f3e8bee997d70d10614d6215a6384 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -192,7 +192,13 @@ volatile U8* LLVBOPool::allocate(U32& name, U32 size, bool for_seed)
 				ret = (U8*) ll_aligned_malloc<64>(size);
 				if (!ret)
 				{
-					LL_ERRS() << "Failed to allocate for LLVBOPool buffer" << LL_ENDL;
+					LL_ERRS() << "Failed to allocate "<< size << " bytes for LLVBOPool buffer " << name <<"." << LL_NEWLINE
+							  << "Free list size: " << mFreeList.size() // this happens if we are out of memory so a solution might be to clear some from freelist
+							  << " Allocated Bytes: " << LLVertexBuffer::sAllocatedBytes
+							  << " Allocated Index Bytes: " << LLVertexBuffer::sAllocatedIndexBytes
+							  << " Pooled Bytes: " << sBytesPooled
+							  << " Pooled Index Bytes: " << sIndexBytesPooled
+							  << LL_ENDL;
 				}
 			}
 		}