diff --git includes/database/schema.inc includes/database/schema.inc
index 93f48dd..45adb63 100644
--- includes/database/schema.inc
+++ includes/database/schema.inc
@@ -554,12 +554,14 @@ abstract class DatabaseSchema implements QueryPlaceholderInterface {
    *   If the specified table already exists.
    */
   public function createTable($name, $table) {
-    if ($this->tableExists($name)) {
-      throw new DatabaseSchemaObjectExistsException(t('Table %name already exists.', array('%name' => $name)));
+    try {
+      $statements = $this->createTableSql($name, $table);
+      foreach ($statements as $statement) {
+        $this->connection->query($statement);
+      }
     }
-  	$statements = $this->createTableSql($name, $table);
-    foreach ($statements as $statement) {
-    	$this->connection->query($statement);
+    catch (PDOException $e) {
+      throw new DatabaseSchemaObjectExistsException(t('Failed to create table %name. Exception thrown: %exception.', array('%name' => $name, '%exception' => $e->getMessage())));
     }
   }
 
