   newAsts = []
 
 
-  # Helper function for a pushing a new AST and resetting the rules cache.
+  # Helper function for a pushing a new AST and clearing traversed rules.
   #
   startNewAst = ->
-    newAsts.push createAst(rulesCache)
-    rulesCache = []
+    newAsts.push createAst(traversedRules)
+    traversedRules = []
     numSelectors = 0
 
 
-  # Increment the selector count and push rules to the cache.
+  # Increment the selector count and track traversed rules.
   #
   for rule in ast.stylesheet.rules
     switch rule.type

  # The rules which have been traversed. Used to easily produce a new AST
  # using previously traversed nodes.
  #
  rulesCache = []

  # ASTs which represent the stylesheets which should be created as a result
  # of processing.

  # Convert any remaining rules to a new AST. This also accounts for the case
  # where the selector limit was not reached.
  #
  newAsts.push createAst(traversedRules) if traversedRules.length

  newData = (css.stringify ast for ast in newAsts)

