diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index d75ed9f..ad4adf3 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -1619,11 +1619,16 @@ function install_download_additional_translations_operations(&$install_state) {
  * @param $install_state
  *   An array of information about the current installation state.
  *
- * @return
+ * @return array|null
  *   The batch definition, if there are language files to import.
  */
 function install_import_translations(&$install_state) {
-  \Drupal::moduleHandler()->loadInclude('locale', 'translation.inc');
+  $module_handler = \Drupal::moduleHandler();
+  if (!$module_handler->moduleExists('locale')) {
+    // Early return for install profile that does not enable locale module.
+    return;
+  }
+  $module_handler->loadInclude('locale', 'translation.inc');
 
   // If there is more than one language or the single one is not English, we
   // should import translations.
@@ -1711,9 +1716,14 @@ function _install_prepare_import($langcodes, $server_pattern) {
  *   An array of batch definitions.
  */
 function install_finish_translations(&$install_state) {
-  \Drupal::moduleHandler()->loadInclude('locale', 'fetch.inc');
-  \Drupal::moduleHandler()->loadInclude('locale', 'compare.inc');
-  \Drupal::moduleHandler()->loadInclude('locale', 'bulk.inc');
+  $module_handler = \Drupal::moduleHandler();
+  if (!$module_handler->moduleExists('locale')) {
+    // Early return for install profile that does not enable locale module.
+    return array();
+  }
+  $module_handler->loadInclude('locale', 'fetch.inc');
+  $module_handler->loadInclude('locale', 'compare.inc');
+  $module_handler->loadInclude('locale', 'bulk.inc');
 
   // Build a fresh list of installed projects. When more projects than core are
   // installed, their translations will be downloaded (if required) and imported
