diff --git a/openedx/core/djangoapps/credentials/migrations/0002_data__add_service_user.py b/openedx/core/djangoapps/credentials/migrations/0002_data__add_service_user.py
index 12d72d271b71a76f1f157d8eca79465631fb35e2..02c1a53388db11f24bf0924dbd50ffbb514bd826 100644
--- a/openedx/core/djangoapps/credentials/migrations/0002_data__add_service_user.py
+++ b/openedx/core/djangoapps/credentials/migrations/0002_data__add_service_user.py
@@ -1,12 +1,16 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
+import logging
 
-from django.db import migrations, models
+from django.db import migrations
 
 from django.conf import settings
 from django.contrib.auth.models import User
 
 
+logger = logging.getLogger(__name__)
+
+
 def add_service_user(apps, schema_editor):
     """Add service user."""
     user, created = User.objects.get_or_create(username=settings.CREDENTIALS_SERVICE_USERNAME)
@@ -20,8 +24,9 @@ def remove_service_user(apps, schema_editor):
     """Remove service user."""
     try:
         User.objects.get(username=settings.CREDENTIALS_SERVICE_USERNAME).delete()
-    except User.DoesNotExist:
-        return
+    except Exception:  # pylint: disable=broad-except
+        logger.exception('Unexpected error while attempting to delete credentials service user.')
+        logger.warning('This service user account may need cleanup, but migrations can safely continue.')
 
 
 class Migration(migrations.Migration):