)
   }
 
-  if (!$self->record->customer) {
+  if (!$self->record->can('customer') || !$self->record->customer) {
     return SL::PriceSource::Discount->new(
       discount     => $customer->discount,
       spec         => $customer->id,
       spec         => $customer->id,
       description  => t8('Customer Discount'),
       price_source => $self,
-      invalid      => t8('This discount is only valid for customer #1', $customer->full_description),
+      invalid      => t8('This discount is only valid for customer #1', $customer->displayable_name),
     )
   }