diff --git a/src/context3d.cpp b/src/context3d.cpp
index cc0530dc3d7b372f4e0da1b6386779af987e2e46..f18d09efb53435da3614d0f5b69a93e0e7c9e1c6 100644
--- a/src/context3d.cpp
+++ b/src/context3d.cpp
@@ -919,6 +919,8 @@ void CanvasContext::texImage2D(glEnums target, int level, glEnums internalformat
     if (unpackedData != srcData)
         delete unpackedData;
 
+    if (deleteTempPixels)
+        delete pixels;
 }