diff --git a/core/modules/locale/locale.bulk.inc b/core/modules/locale/locale.bulk.inc
index 3dd25b7..befa19c 100644
--- a/core/modules/locale/locale.bulk.inc
+++ b/core/modules/locale/locale.bulk.inc
@@ -316,6 +316,10 @@ function locale_translate_batch_refresh(array &$context) {
     // Refresh all languages for one object at a time.
     $count = locale_config_update_multiple(array($name), $context['sandbox']['refresh']['languages']);
     $context['results']['stats']['config'] += $count;
+    // Inherit finished information from the "parent" string lookup step so
+    // visual display of status will make sense.
+    $context['finished'] = $context['sandbox']['refresh']['names_finished'];
+    $context['message'] = t('Updating default configuration (@percent%).', array('@percent' => (int) ($context['finished'] * 100)));
   }
   elseif (!empty($context['sandbox']['refresh']['strings'])) {
     // Not perfect but will give some indication of progress.
@@ -327,6 +331,7 @@ function locale_translate_batch_refresh(array &$context) {
     _locale_refresh_translations($context['sandbox']['refresh']['languages'], $next);
     // Check whether we need to refresh configuration objects.
     if ($names = \Drupal\locale\Locale::config()->getStringNames($next)) {
+      $context['sandbox']['refresh']['names_finished'] = $context['finished'];
       $context['sandbox']['refresh']['names'] = $names;
     }
   }
