Transforming Buffergeometry from local to world space for dae import

I am traversing the scene using Scene.Traverse and for every mesh encountered i am transforming its buffergeomtery from local to world using Mesh.geometry.applyMatrix4(Mesh.matrixWorld). It works as intended for imported models of all formats except dae. For dae imports we end up getting arbitrary transforms. I suspect that the nested groups in the scene causes this problem. Any help would be appreciated.