diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index d75ed9f..964cece 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -719,6 +719,8 @@ function install_tasks($install_state) {
   // 'install_download_translation' task. Download when a non-English language
   // is selected, but no translation is yet in the translations directory.
   $needs_download = isset($install_state['parameters']['langcode']) && !isset($install_state['translations'][$install_state['parameters']['langcode']]) && $install_state['parameters']['langcode'] != 'en';
+  // Download only if profile enables locale module.
+  $needs_download &= \Drupal::moduleHandler()->moduleExists('locale');
 
   // Start with the core installation tasks that run before handing control
   // to the installation profile.
