diff --git a/allzweckmesser/meters.py b/allzweckmesser/meters.py
index 26785cdb0020766cff12c9eff09ac38a6ff5455c..926f93109da3c6af8ad98a7ea07bfd6e2af79602 100644
--- a/allzweckmesser/meters.py
+++ b/allzweckmesser/meters.py
@@ -133,6 +133,8 @@ ALL_METERS = {
     ),
 }
 
+ALL_METER_NAMES = list(ALL_METERS.keys())
+
 
 def get_reading_meter_combinations(readings, meters=ALL_METERS):
     reading_meter_rmfeatures = [
diff --git a/allzweckmesser/scan.py b/allzweckmesser/scan.py
index 845f8f4aae4be09f134413bac32ef62d41754143..73057932f874efed7e0a1fc813b2093c1dbc009d 100755
--- a/allzweckmesser/scan.py
+++ b/allzweckmesser/scan.py
@@ -8,13 +8,15 @@ from typing import List
 
 from .config import RANKING_MODEL_PATH
 from .features import combine_features
-from .meters import ALL_METERS, get_reading_meter_combinations
+from .meters import ALL_METERS, ALL_METER_NAMES, get_reading_meter_combinations
 from .model import Verse
 from .scanner import Scanner
 
 
-def scan(plain_verses: List[str], meters=ALL_METERS, **options) -> List[Verse]:
+def scan(plain_verses: List[str], meters=ALL_METER_NAMES,
+         **options) -> List[Verse]:
     """Scan Latin verses."""
+    meters = [ALL_METERS[m] for m in meters if m in ALL_METERS]
     scanner = Scanner()
     scanned_verses = scanner.scan_verses(plain_verses)
     model = joblib.load(RANKING_MODEL_PATH)