       with: (operator)->
         last = @expression.last()
         if last && last.isOperator()
-          @expression.replaceLast(operator)
+          if last instanceof comps.exponentiation
+            if last.power().isBlank()
+              @expression.replaceLast(operator)
+            else
+              @expression.append(operator)
+          else
+            @expression.replaceLast(operator)
         else
           @expression.append(operator)
     class_mixer(_OverrideIfOperatorOrAppend)

      exponentiate_last: ExponentiateLast
      append_multiplication: AppendMultiplication
      append_addition: AppendAddition
      append_subtraction: AppendSubtraction
      negate_last: Negation
      open_sub_expression: OpenSubExpression

      initialize: (@opts)->
        @val = @opts.value

      doAppend: (expression)->
        last = expression.last()
        number_with_this_val = comps.number.build(value: @val)
