anchor.diff:  		Service1, Buckets, final, Charge, Charged, 0, 0,
   		#state{rated = Rated, product = P, session_id = SessionId,
   		buckets = OldBuckets}) when Charged >= Charge ->
  -	NewBuckets1 = refund(SessionId, Buckets),
  -	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets1),
  +	NewBuckets = refund(SessionId, Buckets),
  +	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets),
   	NewBRefs = update_buckets(P#product.balance, OldBuckets, NewBuckets2),
   	ok = mnesia:write(P#product{balance = NewBRefs}),
   	Rated1 = rated(Seconds, Octets, Cents, Msgs, Rated),
  
positive.code: %% @hidden
  authorize4(_Protocol, ServiceType,
  		#service{session_attributes = ExistingAttr, attributes = Attr} = Service,
  		Buckets1, #price{units = Units, size = UnitSize, amount = UnitPrice},
  		SessionAttributes, Reserve) ->
  	SessionId = get_session_id(SessionAttributes),
  	case reserve_session(Units, Reserve, SessionId, Buckets1) of
  		{Reserve, _Buckets2} ->
  			NewAttr = radius_attributes:store(?SessionTimeout, Reserve, Attr),
  			authorize5(Service, Buckets1, ServiceType, SessionAttributes, NewAttr);
  		{UnitsReserved, Buckets2} ->
  			PriceReserveUnits = (Reserve- UnitsReserved),
  			{UnitReserve, PriceReserve} = price_units(PriceReserveUnits,
  
negative.code: 		Service1, Buckets, final, _Charge, _Charged, 0, 0,
  		#state{rated = Rated, product = P, session_id = SessionId,
  		buckets = OldBuckets}) ->
  	NewBuckets = refund(SessionId, Buckets),
  	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets),
  	NewBRefs = update_buckets(P#product.balance, OldBuckets, NewBuckets2),
  	ok = mnesia:write(P#product{balance = NewBRefs}),
  	Rated1 = rated(Seconds, Octets, Cents, Msgs, Rated),
  