diff --git a/indra/llcommon/lltrace.h b/indra/llcommon/lltrace.h
index 7694f65441f4032d33249cc8bd85b84b927b645c..ab4ad59e3d71d009366bc38f161eeb99a61b863d 100644
--- a/indra/llcommon/lltrace.h
+++ b/indra/llcommon/lltrace.h
@@ -680,7 +680,8 @@ void* allocAligned(size_t size)
 #elif LL_DARWIN
 		padded_allocation = ll_aligned_malloc(size_with_reserve, ALIGNMENT);
 #else
-		posix_memalign(&padded_allocation, ALIGNMENT, size_with_reserve);
+		if (LL_UNLIKELY(0 != posix_memalign(&padded_allocation, 16, size)))
+			padded_allocation = NULL;
 #endif
 	}
 	return (char*)padded_allocation + aligned_reserve;