diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c index 00bee59732c..b9daa46474d 100644 --- a/source/blender/blenkernel/intern/CCGSubSurf.c +++ b/source/blender/blenkernel/intern/CCGSubSurf.c @@ -1209,7 +1209,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { VertDataMulN(nCo, 1.0f/numEdges); } - if (sharpCount>1) { + if (sharpCount>1 && v->numFaces) { VertDataZero(q); for (i=0; inumEdges; i++) { @@ -1491,7 +1491,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { VertDataMulN(nCo, 1.0f/numEdges); } - if (sharpCount>1) { + if (sharpCount>1 && v->numFaces) { VertDataZero(q); for (i=0; inumEdges; i++) { @@ -1549,7 +1549,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { avgSharpness = 0; } - if (_edge_isBoundary(e) && sharpCount<2) { + if (_edge_isBoundary(e) && (!e->numFaces || sharpCount<2)) { for (x=1; x