       return callback err if err
 
       session.getTags [tag.sha1()], (err, tags) ->
-        return callback err if err
-        return callback null if tags[0]?
+        if err or tags.length > 0
+          return session.finalize err, callback
 
         queries = [
           Queries.insertObject(tag)

      return callback err if err

      session.getPropositions [proposition.sha1()], (err, props) ->
        return callback err if err
        return callback null if props.length > 0

        queries = [
          Queries.insertObject(proposition)


      key = [username, reponame]
      @getRepos [key], (err, repos) ->
        if err or repos.length == 0
          return session.finalize err, callback

        query = Queries.deleteRepo(username, reponame)
        session.query query, (err) ->
