     else
       @tag(1, 'PROPERTY_ACCESS')
   tag: 'IDENTIFIER'
-  tag:  id.toUpperCase() if KEYWORDS.indexOf(id) >= 0 and not (ACCESSORS.indexOf(@tag()) >= 0)
+  tag:  id.toUpperCase() if KEYWORDS.indexOf(id) >= 0 and
+    not ((ACCESSORS.indexOf(@tag()) >= 0) and not @prev().spaced)
   throw new Error('SyntaxError: Reserved word "' + id + '" on line ' + @line) if RESERVED.indexOf(id) >= 0
   tag: 'LEADING_WHEN' if tag is 'WHEN' and BEFORE_WHEN.indexOf(@tag()) >= 0
   @token(tag, id)

    throw new Error('SyntaxError: Reserved word "' + @value() + '" on line ' + @line + ' can\'t be assigned') if JS_FORBIDDEN.indexOf(@value()) >= 0
  tag: 'TERMINATOR' if value == ';'

  prev: @tokens[@tokens.length - 1]
  if CALLABLE.indexOf(@tag()) >= 0 and (not prev or not prev.spaced)
    tag: 'CALL_START'  if value is '('
    tag: 'INDEX_START' if value is '['
  @token tag, value

  @line += indent.match(MULTILINER).length
  @i    += indent.length
  next_character: @chunk.match(MULTI_DENT)[4]
  prev: @prev(2)
  no_newlines: next_character is '.' or (@value() and @value().match(NO_NEWLINE) and prev and (prev[0] isnt '.') and not @value().match(CODE))
  return @suppress_newlines(indent) if no_newlines
  size: indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length
