 			assert.isArray binding[1]
 
 			item = @item = obj._ref or obj
-			component.onObjectChange? onComponentObjectChange, @
+			if @listensOnComponentObjectChange = component.onObjectChange?
+				component.onObjectChange onComponentObjectChange, @
 
 			# properties
 			@func = binding[0]

			@updatePending = false
			@updateLoop = 0
			`//</development>`
			Object.preventExtensions @

			@update()


			# clear props
			@args = null
			utils.clear @connections
			if @listensOnComponentObjectChange
				@component.onObjectChange.disconnect onComponentObjectChange, @

			pool.push @
			return
