diff --git a/src/gu/vram.c b/src/gu/vram.c
index b8b9af4ad6..467466e368 100644
--- a/src/gu/vram.c
+++ b/src/gu/vram.c
@@ -10,6 +10,7 @@
 #include <pspgu.h>
 
 static unsigned int staticOffset = 0;
+static const unsigned int alignment = 16;
 
 static unsigned int getMemorySize(unsigned int width, unsigned int height, unsigned int psm)
 {
@@ -39,6 +40,7 @@ static unsigned int getMemorySize(unsigned int width, unsigned int height, unsig
 void* guGetStaticVramBuffer(unsigned int width, unsigned int height, unsigned int psm)
 {
 	unsigned int memSize = getMemorySize(width,height,psm);
+	staticOffset = (staticOffset + (alignment-1)) &~ (alignment-1);
 	void* result = (void*)staticOffset;
 	staticOffset += memSize;