diff --git a/init/do_mounts_dm.c b/init/do_mounts_dm.c
index 0fd3411..0fe9c5f 100644
--- a/init/do_mounts_dm.c
+++ b/init/do_mounts_dm.c
@@ -10,6 +10,7 @@
 #include <linux/string.h>
 
 #include "do_mounts.h"
+#include "../drivers/md/dm.h"
 
 #define DM_MAX_NAME 32
 #define DM_MAX_UUID 129
@@ -333,6 +334,7 @@
 		goto dm_table_create_fail;
 	}
 
+	dm_lock_md_type(md);
 	target = dm_setup_args.target;
 	while (target) {
 		DMINFO("adding target '%llu %llu %s %s'",
@@ -352,6 +354,17 @@
 		goto table_complete_fail;
 	}
 
+	if (dm_get_md_type(md) == DM_TYPE_NONE) {
+		dm_set_md_type(md, dm_table_get_type(table));
+		if (dm_setup_md_queue(md, table)) {
+			DMWARN("unable to set up device queue for new table.");
+			goto setup_md_queue_fail;
+		}
+	} else if (dm_get_md_type(md) != dm_table_get_type(table)) {
+		DMWARN("can't change device type after initial table load.");
+		goto setup_md_queue_fail;
+        }
+
 	/* Suspend the device so that we can bind it to the table. */
 	if (dm_suspend(md, 0)) {
 		DMDEBUG("failed to suspend the device pre-bind");
@@ -380,6 +393,7 @@
 	}
 	printk(KERN_INFO "dm: dm-%d is ready\n", dm_setup_args.minor);
 
+	dm_unlock_md_type(md);
 	dm_setup_cleanup();
 	return;
 
@@ -387,9 +401,10 @@
 resume_fail:
 table_bind_fail:
 suspend_fail:
+setup_md_queue_fail:
 table_complete_fail:
 add_target_fail:
-	dm_table_put(table);
+	dm_unlock_md_type(md);
 dm_table_create_fail:
 	dm_put(md);
 dm_create_fail:
