diff --git a/intern/cycles/bvh/bvh_embree.cpp b/intern/cycles/bvh/bvh_embree.cpp
index 86d533bb94ec63de921fcfbf74fbcccef72d5e9b..fb7d5c90d2cddf1c41eba34a9e3c1fcdcbb09f24 100644
--- a/intern/cycles/bvh/bvh_embree.cpp
+++ b/intern/cycles/bvh/bvh_embree.cpp
@@ -518,7 +518,7 @@ void BVHEmbree::update_tri_vertex_buffer(RTCGeometry geom_id, const Mesh* mesh)
 	    verts = &attr_mP->data_float3()[t_ * num_verts];
 	}
 
-	float* raw_buffer = (float*) rtcSetNewGeometryBuffer(geom_id, RTC_BUFFER_TYPE_VERTEX, 0, RTC_FORMAT_FLOAT3, sizeof (float) * 4, num_verts);
+	float* raw_buffer = (float*) rtcSetNewGeometryBuffer(geom_id, RTC_BUFFER_TYPE_VERTEX, t, RTC_FORMAT_FLOAT3, sizeof (float) * 3, num_verts);
 	assert(raw_buffer);
 
 	if(raw_buffer) {
@@ -527,8 +527,8 @@ void BVHEmbree::update_tri_vertex_buffer(RTCGeometry geom_id, const Mesh* mesh)
 		rtc_verts[0] = verts[j].x;
 		rtc_verts[1] = verts[j].y;
 		rtc_verts[2] = verts[j].z;
-		rtc_verts[3] = 0.0f;
-		rtc_verts += 4;
+		//rtc_verts[3] = 0.0f;
+		rtc_verts += 3;
 	    }
 
 	}