 			_boundingSphere = new BoundingSphere(Vector4.ZERO, 0.);
 			
 			_visibilityData = new MeshVisibilityDataProvider();
+            
+            _state = STATE_UNDEFINED;
 			
 			targetAdded.add(targetAddedHandler);
 			targetRemoved.add(targetRemovedHandler);

		{
			var culling	: uint	= _visibilityData.frustumCulling;
			
			if (culling != FrustumCulling.DISABLED && _mesh.geometry.boundingBox)
			{
				var camera : AbstractCamera = (_mesh.root as Scene).activeCamera;
				

		private function meshAddedToSceneHandler(mesh	: Mesh,
												 scene	: Scene) : void
		{
			scene.bindings.addCallback('worldToScreen', worldToScreenChangedHandler);
            
            meshLocalToWorldChangedHandler(mesh.localToWorld);
			mesh.localToWorld.changed.add(meshLocalToWorldChangedHandler);
		}
		
		private function meshRemovedFromSceneHandler(mesh	: Mesh,
													 scene	: Scene) : void
		{
			scene.bindings.removeCallback('worldToScreen', worldToScreenChangedHandler);
			mesh.localToWorld.changed.remove(meshLocalToWorldChangedHandler);
		}
		
		private function worldToScreenChangedHandler(bindings	    : DataBindings,
                                                     propertyName	: String,
                                                     oldValue		: Matrix4x4,
                                                     newValue		: Matrix4x4) : void
		{
			testCulling();
		}
