       @bucketCount--
       cube[bucketIndex] = null
 
-      collectArbitraryBucket(address) if zoomStep <= @ARBITRARY_MAX_ZOOMSTEP
-
-
-  collectArbitraryBucket : ([bucket_x, bucket_y, bucket_z, zoomStep]) ->
+      @collectArbitraryBucket(address, bucket) if address[3] <= @ARBITRARY_MAX_ZOOMSTEP
+
+
+  collectArbitraryBucket : ([bucket_x, bucket_y, bucket_z, zoomStep], oldBucket) ->
 
     cube = @arbitraryCube
 

    cube = @cubes[address[3]]
    bucketIndex = @getBucketIndexByZoomedAddress(address)

    if bucketIndex? and bucket = cube[bucketIndex] != @LOADING_PLACEHOLDER
      bucket
    else
      null

      bucketIndex = @getBucketIndexByZoomedAddress(address)

      @bucketCount++
      @access.unshift(address)
      bucketData.access = 1
      bucketData.zoomStep = address[3]

      cube[bucketIndex] = bucketData

      #@setArbitraryBucketByZoomedAddress(address, bucketData) if address[3] <= @ARBITRARY_MAX_ZOOMSTEP
      @trigger("bucketLoaded", address)


  setArbitraryBucketByZoomedAddress : ([bucket_x, bucket_y, bucket_z, zoomStep], bucketData) ->
