diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c
index b53b17fcc7a4dd4c8b1ef6a1397dd69319134bf6..8e0de38a6dd90b5986768a2cf02e30d3f7364982 100644
--- a/src/hardware/hw_md2.c
+++ b/src/hardware/hw_md2.c
@@ -733,8 +733,11 @@ static void md2_loadTexture(md2_t *model)
 		Z_Free(grpatch->mipmap->grInfo.data);
 	}
 	else
+	{
 		grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO,
 		                   &(model->grpatch));
+		grpatch->mipmap = Z_Calloc(sizeof (GLMipmap_t), PU_HWRPATCHINFO, NULL);
+	}
 
 	if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data)
 	{
@@ -783,8 +786,11 @@ static void md2_loadBlendTexture(md2_t *model)
 		Z_Free(grpatch->mipmap->grInfo.data);
 	}
 	else
+	{
 		grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO,
 		                   &(model->blendgrpatch));
+		grpatch->mipmap = Z_Calloc(sizeof (GLMipmap_t), PU_HWRPATCHINFO, NULL);
+	}
 
 	if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data)
 	{