       model.set id: SharedCollection.generateGUID()
 
     # Just ignore readds
-    if @_syncDoc.snapshot[this.collectionId][model.id]
+    if @_syncDoc.snapshot[this.collectionId]?[model.id]
       return
+
 
     log "SEND ADD #{ model.id }: #{ JSON.stringify model.toJSON() }"
 


  _flushAddingQueue: ->
    while model = @_addingQueue.shift()
      console.log "removing #{ model.get "name" } from queue"
      @add model

  _initSyncDoc: (cb) ->
    log "Creating new sync doc with #{ @collectionId }"
    ob = {}
    ob[@collectionId] = {}
    @_syncDoc.submitOp [
      p: []
      oi: ob
    ], cb

  _loadModelsFromSyncDoc: (cb=->) ->

    if @_syncDoc.type.name isnt "json"
      throw new Error "The ShareJS document type must be 'json', not '#{ @_syncDoc.type.name }'"

    @_bindSendOperations()

    # TODO: Clean up before this is the pyramid of doom
    @_initSyncDoc (err) =>
      return callbackWrapper err if err
      @_initCollection (err) =>
        return callbackWrapper err if err
        @_loadModelsFromSyncDoc callbackWrapper




