Buggy code:
public WebGLRenderingContext getGL ( ) { } private void setDefaultGLState ( ) { } public void setSize ( int width , int height ) { } public void setViewport ( int x , int y , int width , int height ) { } public int getAbsoluteWidth ( ) { } public int getAbsoluteHeight ( ) { } public double getAbsoluteAspectRation ( ) { } public void setScissor ( int x , int y , int width , int height ) { } public void enableScissorTest ( boolean enable ) { } public void setClearColor ( int hex ) { } public void setClearColor ( int hex , double alpha ) { } public void setClearColor ( Color color , double alpha ) { } public Color getClearColor ( ) { } public double getClearAlpha ( ) { } public void clear ( ) { } public void clear ( boolean color , boolean depth , boolean stencil ) { } public void clearColor ( ) { } public void clearDepth ( ) { } public void clearStencil ( ) { } public void clearTarget ( RenderTargetTexture renderTarget , boolean color , boolean depth , boolean stencil ) { } public void resetGLState ( ) { } private void initAttributes ( ) { } private void enableAttribute ( Integer attribute ) { } private void disableUnusedAttributes ( ) { } private void setupMorphTargets ( Material material , WebGLGeometry geometrybuffer , Mesh object ) { } public void renderBufferImmediate ( GeometryObject object , Shader program , Material material ) { } private void setupVertexAttributes ( Material material , Shader program , BufferGeometry geometry , int startIndex ) { } public void renderBufferDirect ( Camera camera , List < Light > lights , AbstractFog fog , Material material , BufferGeometry geometry , GeometryObject object ) { } public List < GeometryGroup > makeGroups ( Geometry geometry , boolean usesFaceMaterial ) { } public void initGeometryGroups ( Object3D scene , Mesh object , Geometry geometry ) { } private void initObject ( Object3D object , Object3D scene ) { } private void addBuffer ( WebGLGeometry buffer , GeometryObject object ) { } private void projectObject ( Object3D scene , Object3D object ) { } public Material getBufferMaterial ( GeometryObject object , GeometryGroup geometryGroup ) { } public Material getBufferMaterial ( GeometryObject object , Geometry geometry ) { } public void updateObject ( GeometryObject object , Object3D scene ) { AbstractGeometry geometry = object . getGeometry ( ) ; Material material = null ; if ( geometry instanceof BufferGeometry ) { ( ( BufferGeometry ) ( geometry ) ) . setDirectBuffers ( gl ) ; } else if ( object instanceof Mesh ) { if ( ( geometry . groupsNeedUpdate ) == true ) { initGeometryGroups ( scene , ( ( Mesh ) ( object ) ) , ( ( Geometry ) ( geometry ) ) ) ; } List < GeometryGroup > geometryGroupsList = geometryGroups . get ( ( ( geometry . getId ( ) ) + "" ) ) ; for ( int i = 0 , il = geometryGroupsList . size ( ) ; i < il ; i ++ ) { GeometryGroup geometryGroup = geometryGroupsList . get ( i ) ; material = getBufferMaterial ( object , geometryGroup ) ; if ( ( geometry . groupsNeedUpdate ) == true ) { ( ( Mesh ) ( object ) ) . initBuffers ( gl , geometryGroup ) ; } boolean customAttributesDirty = ( material instanceof ShaderMaterial ) && ( ( ( ShaderMaterial ) ( material ) ) . getShader ( ) . areCustomAttributesDirty ( ) ) ; if ( ( ( ( ( ( ( ( geometry . verticesNeedUpdate ) || ( geometry . morphTargetsNeedUpdate ) ) || ( geometry . elementsNeedUpdate ) ) || ( geometry . uvsNeedUpdate ) ) || ( geometry . normalsNeedUpdate ) ) || ( geometry . colorsNeedUpdate ) ) || ( geometry . tangentsNeedUpdate ) ) || customAttributesDirty ) { <START_BUG> ( ( Mesh ) ( object ) ) . setBuffers ( gl , geometryGroup , DYNAMIC_DRAW , ( ! ( geometry . dynamic ) ) , material ) ; <END_BUG> } } geometry . verticesNeedUpdate = false ; geometry . morphTargetsNeedUpdate = false ; geometry . elementsNeedUpdate = false ; geometry . uvsNeedUpdate = false ; geometry . normalsNeedUpdate = false ; geometry . colorsNeedUpdate = false ; geometry . tangentsNeedUpdate = false ; if ( material instanceof ShaderMaterial ) { ( ( ShaderMaterial ) ( material ) ) . getShader ( ) . clearCustomAttributes ( ) ; } } else if ( object instanceof Line ) { material = getBufferMaterial ( object , ( ( Geometry ) ( geometry ) ) ) ; boolean customAttributesDirty = ( material instanceof ShaderMaterial ) && ( ( ( ShaderMaterial ) ( material ) ) . getShader ( ) . areCustomAttributesDirty ( ) ) ; if ( ( ( ( geometry . verticesNeedUpdate ) || ( geometry . colorsNeedUpdate ) ) || ( geometry . lineDistancesNeedUpdate ) ) || customAttributesDirty ) { ( ( Line ) ( object ) ) . setBuffers ( gl , DYNAMIC_DRAW ) ; } geometry . verticesNeedUpdate = false ; geometry . colorsNeedUpdate = false ; geometry . lineDistancesNeedUpdate = false ; if ( material instanceof ShaderMaterial ) { ( ( ShaderMaterial ) ( material ) ) . getShader ( ) . clearCustomAttributes ( ) ; } } else if ( object instanceof PointCloud ) { material = getBufferMaterial ( object , ( ( Geometry ) ( geometry ) ) ) ; boolean customAttributesDirty = ( material instanceof ShaderMaterial ) && ( ( ( ShaderMaterial ) ( material ) ) . getShader ( ) . areCustomAttributesDirty ( ) ) ;

Fix:
( ( Mesh ) ( object ) ) . setBuffers ( gl , geometryGroup , DYNAMIC_DRAW , ( ! ( ( ( Geometry ) ( geometry ) ) . isDynamic ( ) ) ) , material ) ;