       formerParent = $(childNode).parent()
       $(childNode).remove().appendTo(targetNode)
 
-      if @oversetRegion().updateOverset() is 'overset'
+      if @oversetRegion().updateOverset() is 'overset' and not @contextDependent(childNode)
 
         # move it back where it was
         $(childNode).remove().prependTo(formerParent)

  breakUpText: (options = {}) ->
    textNode = options.node
    targetNode = document.createTextNode("")
    inlineElements =
    $(targetNode).appendTo(options.into)

    words = textNode.nodeValue.split(/[ ]+/)
    highIndex = words.length - 1

  populateRegions: ->
    @lastRegion().appendNode(node.clone()) for node in @contentNodes


  # Verify that a node can be separated from it's predecessor. Used to prevent
  # breaks on context-dependent elements, e.g., footnote references.
  #
  contextDependent:(node) ->
    conditions = [
      -> Boolean(@nodeName is 'SUP')
    ]
    result = false
    i = conditions.length
    while i--
      result = conditions[i].call(node)
      if result then break
    result

  # Recursive layout call.
  #
  # @params options - hash
