module Spree
  Price.class_eval do
    after_save :refresh_products_cache

    private

    def refresh_products_cache
      variant.andand.refresh_products_cache
    end
  end
end

module Spree
  Price.class_eval do
    after_save :refresh_products_cache

    private

    def check_price
      if currency.nil?
        self.currency = Spree::Config[:currency]
      end
    end

    def refresh_products_cache
      variant.andand.refresh_products_cache
    end
  end
end

Remove orphan price check from price model
Remove orphan price check from price model

This is a quick fix. This check is breaking product deletion in some situations and orphan Prices are not really a problem in the DB
