diff --git a/core/modules/block/block.admin.inc b/core/modules/block/block.admin.inc
index 2a17a55..5acdd60 100644
--- a/core/modules/block/block.admin.inc
+++ b/core/modules/block/block.admin.inc
@@ -184,9 +184,27 @@ function block_admin_display_form($form, &$form_state, $blocks, $theme, $block_r
  * @see block_admin_display_form()
  */
 function block_admin_display_form_submit($form, &$form_state) {
+  
+  $messages = array();
+  
   $transaction = db_transaction();
   try {
     foreach ($form_state['values']['blocks'] as $block) {
+      
+      // check if the block was already enabled
+      $query = db_select('block', 'b')
+      ->fields('b', array('status', 'weight', 'region'))
+      ->condition('module', $block['module'])
+      ->condition('delta', $block['delta'])
+      ->condition('theme', $block['theme']);
+      $result = $query->execute();
+      if (!empty($result)) {
+        foreach ($result as $item) {
+          $block['old_status'] = $item->status;
+        }
+      }
+      
+      
       $block['status'] = (int) ($block['region'] != BLOCK_REGION_NONE);
       $block['region'] = $block['status'] ? $block['region'] : '';
       db_update('block')
@@ -199,6 +217,9 @@ function block_admin_display_form_submit($form, &$form_state) {
         ->condition('delta', $block['delta'])
         ->condition('theme', $block['theme'])
         ->execute();
+        
+        $messages = array_merge($messages, module_invoke_all('block_admin_display_form_submit', $block));
+        
     }
   }
   catch (Exception $e) {
@@ -206,7 +227,17 @@ function block_admin_display_form_submit($form, &$form_state) {
     watchdog_exception('block', $e);
     throw $e;
   }
+  
   drupal_set_message(t('The block settings have been updated.'));
+  
+  if (!empty($messages)) {
+    foreach ($messages as $key => $message) {
+      if (!empty($message)) {
+        drupal_set_message($message);
+      }
+    }
+  }
+  
   cache_invalidate(array('content' => TRUE));
 }
 
diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 71135a4..4cd5285 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -774,6 +774,40 @@ function language_block_view($type) {
   }
 }
 
+
+
+/**
+ * Implements hook_block_admin_display_form_submit()
+ * @param array $block
+ *   The block that has been submitted
+ * @return array $messages
+ *   an array containing the messages that should be displayed after submission of te block in the admin settings
+ */
+function language_block_admin_display_form_submit($block) {
+  
+  $messages = array();
+  
+  if ('language' == $block['module'] && 1 == $block['status']) {
+    
+    // if block was previously disabled and is enabled
+    if (0 == $block['old_status']) {
+      $info = language_types_info();
+      foreach (language_types_get_configurable(FALSE) as $type) {
+        if ($block['delta'] == $type) {
+          $messages[$type] = t('Block "Language switcher (!type)": With the language switcher block you can switch the languages of the interface. 
+          You can manage the languages on the <a href="@block-admin">language administration page</a>', 
+          array('@block-admin' => '/admin/config/regional/language', '!type' => $info[$type]['name']));
+        }
+        
+      }
+    }
+    
+  }
+
+  return $messages;
+}
+
+
 /**
  * Implements hook_preprocess_HOOK() for block.tpl.php.
  */
