my $price = SL::DB::Manager::Price->find_by(pricegroup_id => $spec, parts_id => $self->part->id);
 
-  # TODO: if someone deletes the prices entry, this fails. add a fallback
+  if (!$price) {
+    return SL::PriceSource::Price->new(
+      price_source => $self,
+      missing      => t8('Could not find an entry for this part in the pricegroup.'),
+    );
+  }
+
   return $self->make_price($price);
 }
 
 
   'Copy template'               => 'Vorlage kopieren',
   'Correct taxkey'              => 'Richtiger Steuerschlüssel',
   'Costs'                       => 'Kosten',
+  'Could not find an entry for this part in the pricegroup.' => 'Konnte keine Eintrag für diesen Artikel in der Preisgruppe finden.',
   'Could not load class #1 (#2): "#3"' => 'Konnte Klasse #1 (#2) nicht laden: "#3"',
   'Could not load class #1, #2' => 'Konnte Klasse #1 nicht laden: "#2"',
   'Could not load employee'     => 'Konnte Benutzer nicht laden',
 
   'Copy template'               => '',
   'Correct taxkey'              => '',
   'Costs'                       => '',
+  'Could not find an entry for this part in the pricegroup.' => '',
   'Could not load class #1 (#2): "#3"' => '',
   'Could not load class #1, #2' => '',
   'Could not load employee'     => '',