diff --git a/libraries/graphics/src/graphics/Geometry.cpp b/libraries/graphics/src/graphics/Geometry.cpp
index 5ac3fc0d5a..bc89dbfc3d 100755
--- a/libraries/graphics/src/graphics/Geometry.cpp
+++ b/libraries/graphics/src/graphics/Geometry.cpp
@@ -175,7 +175,7 @@ graphics::MeshPointer Mesh::map(std::function<glm::vec3(glm::vec3)> vertexFunc,
     gpu::BufferView::Index numColors = (gpu::BufferView::Index)colorsBufferView.getNumElements();
 
     gpu::Resource::Size colorSize = numColors * sizeof(glm::vec3);
-    std::unique_ptr<unsigned char> resultColorData{ new unsigned char[colorSize] };
+    std::unique_ptr<unsigned char[]> resultColorData{ new unsigned char[colorSize] };
     unsigned char* colorDataCursor = resultColorData.get();
     auto colorAttribute = vertexFormat->getAttribute(attributeTypeColor);
 
@@ -200,7 +200,7 @@ graphics::MeshPointer Mesh::map(std::function<glm::vec3(glm::vec3)> vertexFunc,
     const gpu::BufferView& normalsBufferView = getAttributeBuffer(attributeTypeNormal);
     gpu::BufferView::Index numNormals = (gpu::BufferView::Index)normalsBufferView.getNumElements();
     gpu::Resource::Size normalSize = numNormals * sizeof(glm::vec3);
-    std::unique_ptr<unsigned char> resultNormalData{ new unsigned char[normalSize] };
+    std::unique_ptr<unsigned char[]> resultNormalData{ new unsigned char[normalSize] };
     unsigned char* normalDataCursor = resultNormalData.get();
     auto normalAttribute = vertexFormat->getAttribute(attributeTypeNormal);
 
@@ -226,7 +226,7 @@ graphics::MeshPointer Mesh::map(std::function<glm::vec3(glm::vec3)> vertexFunc,
     const gpu::BufferView& indexBufferView = getIndexBuffer();
     gpu::BufferView::Index numIndexes = (gpu::BufferView::Index)getNumIndices();
     gpu::Resource::Size indexSize = numIndexes * sizeof(uint32_t);
-    std::unique_ptr<unsigned char> resultIndexData{ new unsigned char[indexSize] };
+    std::unique_ptr<unsigned char[]> resultIndexData{ new unsigned char[indexSize] };
     unsigned char* indexDataCursor = resultIndexData.get();
 
     for (gpu::BufferView::Index i = 0; i < numIndexes; i++) {
diff --git a/libraries/script-engine/src/ModelScriptingInterface.cpp b/libraries/script-engine/src/ModelScriptingInterface.cpp
index 499678ff06..82ad8081b1 100644
--- a/libraries/script-engine/src/ModelScriptingInterface.cpp
+++ b/libraries/script-engine/src/ModelScriptingInterface.cpp
@@ -60,19 +60,19 @@ QScriptValue ModelScriptingInterface::appendMeshes(MeshProxyList in) {
 
     // alloc the resulting mesh
     gpu::Resource::Size combinedVertexSize = totalVertexCount * sizeof(glm::vec3);
-    std::unique_ptr<unsigned char> combinedVertexData{ new unsigned char[combinedVertexSize] };
+    std::unique_ptr<unsigned char[]> combinedVertexData{ new unsigned char[combinedVertexSize] };
     unsigned char* combinedVertexDataCursor = combinedVertexData.get();
 
     gpu::Resource::Size combinedColorSize = totalColorCount * sizeof(glm::vec3);
-    std::unique_ptr<unsigned char> combinedColorData{ new unsigned char[combinedColorSize] };
+    std::unique_ptr<unsigned char[]> combinedColorData{ new unsigned char[combinedColorSize] };
     unsigned char* combinedColorDataCursor = combinedColorData.get();
 
     gpu::Resource::Size combinedNormalSize = totalNormalCount * sizeof(glm::vec3);
-    std::unique_ptr<unsigned char> combinedNormalData{ new unsigned char[combinedNormalSize] };
+    std::unique_ptr<unsigned char[]> combinedNormalData{ new unsigned char[combinedNormalSize] };
     unsigned char* combinedNormalDataCursor = combinedNormalData.get();
 
     gpu::Resource::Size combinedIndexSize = totalIndexCount * sizeof(uint32_t);
-    std::unique_ptr<unsigned char> combinedIndexData{ new unsigned char[combinedIndexSize] };
+    std::unique_ptr<unsigned char[]> combinedIndexData{ new unsigned char[combinedIndexSize] };
     unsigned char* combinedIndexDataCursor = combinedIndexData.get();
 
     uint32_t indexStartOffset { 0 };