diff --git a/src/core/models/schedules.py b/src/core/models/schedules.py
index b6e321540fdc925887983ce2631eff731e2af01d..e40724a55a2b04dbbda6209a3d184f22baa9370e 100644
--- a/src/core/models/schedules.py
+++ b/src/core/models/schedules.py
@@ -162,7 +162,7 @@ class ScheduleSource(models.Model):
 
         # the very bad case: we found too many
         if len(candidates) > 1:
-            raise ValueError('Multiple candidate speakers found: ' + '; '.join(x.pk for x in candidates))
+            raise ValueError('Multiple candidate speakers found: ' + '; '.join(str(x.pk) for x in candidates))
 
         # hail mary attempt: see if we have an imported speaker with the same name
         candidates = self.conference.users.select_related('user').filter(user__user_type=PlatformUser.Type.SPEAKER, user__display_name=name).all()
@@ -787,6 +787,7 @@ class ScheduleSourceImport(models.Model):
             return False
 
         self.start = timezone.now()
+        self.end = None
         self.state = self.State.STARTED
         self.save(update_fields=['start', 'state'])
         logger.info('[job %s] starting import', self.pk)