diff --git a/core/modules/block/src/BlockForm.php b/core/modules/block/src/BlockForm.php
index 73e7ea4..a9e8e5a 100644
--- a/core/modules/block/src/BlockForm.php
+++ b/core/modules/block/src/BlockForm.php
@@ -163,6 +163,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     parent::submitForm($form, $form_state);
 
     $entity = $this->entity;
+
     // The Block Entity form puts all block plugin form elements in the
     // settings form element, so just pass that to the block for submission.
     // @todo Find a way to avoid this manipulation.
@@ -177,6 +178,16 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     $entity->save();
 
     drupal_set_message($this->t('The block configuration has been saved.'));
+
+    // let other modules interact if a block is changed
+    $messages = array();
+    $messages = \Drupal::moduleHandler()->invokeAll('block_admin_display_form_submit', array($entity));
+    if ($messages) {
+      foreach($messages as $message) {
+        drupal_set_message($message);
+      }
+    }
+
     $form_state->setRedirect(
       'block.admin_display_theme',
       array(
diff --git a/core/modules/block/src/BlockListBuilder.php b/core/modules/block/src/BlockListBuilder.php
index e5da65d..15f6ff4 100644
--- a/core/modules/block/src/BlockListBuilder.php
+++ b/core/modules/block/src/BlockListBuilder.php
@@ -399,6 +399,7 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
    * Form submission handler for the main block administration form.
    */
   public function submitForm(array &$form, FormStateInterface $form_state) {
+
     $entities = $this->storage->loadMultiple(array_keys($form_state->getValue('blocks')));
     foreach ($entities as $entity_id => $entity) {
       $entity_values = $form_state->getValue(array('blocks', $entity_id));
@@ -411,9 +412,20 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
         $entity->enable();
       }
       $entity->save();
+
+      // let other modules interact if a block is changed
+      $messages = array();
+      $messages = \Drupal::moduleHandler()->invokeAll('block_admin_display_form_submit', array($entity));
+      if ($messages) {
+        foreach($messages as $message) {
+          drupal_set_message($message);
+        }
+      }
+
     }
     drupal_set_message(t('The block settings have been updated.'));
 
+
     // Remove any previously set block placement.
     $this->request->query->remove('block-placement');
   }
diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 381fbd4..3478838 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -5,6 +5,7 @@
  * Add language handling functionality to Drupal.
  */
 
+use Drupal\block\BlockInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
@@ -535,3 +536,22 @@ function language_field_info_alter(&$info) {
   // Change the default behavior of language field.
   $info['language']['class'] = '\Drupal\language\DefaultLanguageItem';
 }
+
+
+/**
+ * Implements hook_block_admin_display_form_submit().
+ */
+function language_block_admin_display_form_submit($entity) {
+  // If the language switcher block has been enabled, check to see whether
+  // any languages have been added (if they haven't it won't work)
+  $messages = array();
+  if ($entity->id() == 'languageswitcher' && $entity->get('region') != BlockInterface::BLOCK_REGION_NONE) {
+    $language_list = Drupal::languageManager()->getLanguages();
+    if (count($language_list) <= 1) {
+      $messages['advice'] = t('With the language switcher block you can switch the languages of the interface,
+                                to do this you will need to add a language on the <a href="@language_admin">language administration page</a>',
+                                array('@language_admin' => '/admin/config/regional/language'));
+      }
+  }
+  return $messages;
+}
\ No newline at end of file
