diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 6161819..d70159c 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -177,6 +177,25 @@ function system_requirements($phase) {
     );
   }
 
+  // Check InnoDB configuration.
+  if ($phase == 'runtime' && db_driver() == 'mysql') {
+
+    $variable = db_query("SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'")
+      ->fetchAssoc();
+
+    if ($variable == array(
+      'Variable_name' => 'innodb_flush_log_at_trx_commit',
+      'Value' => '1',
+    )) {
+      $requirements['innodb_flush_log_at_trx_commit'] = array(
+        'title' => t('InnoDB configuration'),
+        'value' => t('Unsupported'),
+        'description' => t('InnoDB variable <a href="http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit">innodb_flush_log_at_trx_commit</a> is set to 1. This will significantly reduce performance as a disk flush is performed after every database write.'),
+        'severity' => REQUIREMENT_WARNING,
+      );
+    }
+  }
+
   // Test PHP memory_limit
   $memory_limit = ini_get('memory_limit');
   $requirements['php_memory_limit'] = array(
