diff --git a/tests/MultifieldCommerceIntegrationTest.test b/tests/MultifieldCommerceIntegrationTest.test
index b5f44b5..cbc7917 100644
--- a/tests/MultifieldCommerceIntegrationTest.test
+++ b/tests/MultifieldCommerceIntegrationTest.test
@@ -6,8 +6,6 @@
 
 class MultifieldCommerceIntegrationTest extends MultifieldTestBase {
 
-  protected $profile = 'testing';
-
   public static function getInfo() {
     return array(
       'name' => 'Drupal Commerce integration',
diff --git a/tests/MultifieldNodeCloneIntegrationTest.test b/tests/MultifieldNodeCloneIntegrationTest.test
new file mode 100644
index 0000000..3b940b8
--- /dev/null
+++ b/tests/MultifieldNodeCloneIntegrationTest.test
@@ -0,0 +1,55 @@
+<?php
+
+class MultifieldNodeCloneIntegrationTest extends MultifieldTestBase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Drupal Commerce integration',
+      'description' => 'Tests multifield integration with the Node Clone module.',
+      'group' => 'Multifield',
+      'dependencies' => array('node_clone'),
+    );
+  }
+
+  public function setUp() {
+    parent::setUp(array('node_clone'));
+  }
+
+  public function testNodeClone() {
+    // Add the test node type.
+    $node_type = $this->drupalCreateContentType()->type;
+
+    field_create_field(array(
+      'field_name' => 'field_multifield',
+      'type' => 'multifield',
+      'cardinality' => FIELD_CARDINALITY_UNLIMITED,
+    ));
+    field_create_field(array(
+      'field_name' => 'field_test',
+      'type' => 'test_field',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_test',
+      'entity_type' => 'multifield',
+      'bundle' => 'field_multifield',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_multifield',
+      'entity_type' => 'node',
+      'bundle' => $node_type,
+    ));
+
+    // Test creating a new entity with a manual ID.
+    $node = entity_create_stub_entity('node', array(NULL, NULL, $node_type));
+    $node->field_multifield[LANGUAGE_NONE][0]['field_test'][LANGUAGE_NONE][0]['value'] = 1;
+    node_save($node);
+
+    module_load_include('inc', 'clone', 'clone.pages');
+    $clone_nid = clone_node_save($node->nid);
+    $clone = node_load($clone_nid);
+
+    $this->assertEqual($node->field_multifield[LANGUAGE_NONE][0]['field_test'], $clone->field_multifield[LANGUAGE_NONE][0]['field_test']);
+    $this->assertNotEqual($node->field_multifield[LANGUAGE_NONE][0]['id'], $clone->field_multifield[LANGUAGE_NONE][0]['id']);
+
+  }
+}
diff --git a/tests/MultifieldReplicateIntegrationTest.test b/tests/MultifieldReplicateIntegrationTest.test
new file mode 100644
index 0000000..eb6b4cc
--- /dev/null
+++ b/tests/MultifieldReplicateIntegrationTest.test
@@ -0,0 +1,53 @@
+<?php
+
+class MultifieldReplicateIntegrationTest extends MultifieldTestBase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Replicate integration',
+      'description' => 'Tests multifield integration with the Replicate module.',
+      'group' => 'Multifield',
+      'dependencies' => array('replicate'),
+    );
+  }
+
+  public function setUp() {
+    parent::setUp(array('replicate'));
+  }
+
+  public function testReplicate() {
+    // Add the test node type.
+    $node_type = $this->drupalCreateContentType()->type;
+
+    field_create_field(array(
+      'field_name' => 'field_multifield',
+      'type' => 'multifield',
+      'cardinality' => FIELD_CARDINALITY_UNLIMITED,
+    ));
+    field_create_field(array(
+      'field_name' => 'field_test',
+      'type' => 'test_field',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_test',
+      'entity_type' => 'multifield',
+      'bundle' => 'field_multifield',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_multifield',
+      'entity_type' => 'node',
+      'bundle' => $node_type,
+    ));
+
+    // Test creating a new entity with a manual ID.
+    $node = entity_create_stub_entity('node', array(NULL, NULL, $node_type));
+    $node->field_multifield[LANGUAGE_NONE][0]['field_test'][LANGUAGE_NONE][0]['value'] = 1;
+    node_save($node);
+
+    $clone = replicate_clone_entity('node', $node);
+
+    $this->assertEqual($node->field_multifield[LANGUAGE_NONE][0]['field_test'], $clone->field_multifield[LANGUAGE_NONE][0]['field_test']);
+    $this->assertNotEqual($node->field_multifield[LANGUAGE_NONE][0]['id'], $clone->field_multifield[LANGUAGE_NONE][0]['id']);
+
+  }
+}
diff --git a/tests/MultifieldUnitTestCase.test b/tests/MultifieldUnitTestCase.test
index a132ac2..3185614 100644
--- a/tests/MultifieldUnitTestCase.test
+++ b/tests/MultifieldUnitTestCase.test
@@ -1,7 +1,6 @@
 <?php
 
-class MultifieldUnitTestCase extends DrupalWebTestCase {
-  protected $profile = 'testing';
+class MultifieldUnitTestCase extends MultifieldTestBase {
 
   public static function getInfo() {
     return array(
@@ -11,10 +10,6 @@ class MultifieldUnitTestCase extends DrupalWebTestCase {
     );
   }
 
-  public function setUp() {
-    parent::setUp(array('field_test', 'multifield'));
-  }
-
   public function testMultifieldField() {
     $multifield_field = array(
       'field_name' => 'test',
@@ -535,4 +530,43 @@ class MultifieldUnitTestCase extends DrupalWebTestCase {
       ),
     ));
   }
+
+  public function testCloning() {
+    // Add the test node type.
+    $node_type = $this->drupalCreateContentType()->type;
+
+    field_create_field(array(
+      'field_name' => 'field_multifield',
+      'type' => 'multifield',
+      'cardinality' => FIELD_CARDINALITY_UNLIMITED,
+    ));
+    field_create_field(array(
+      'field_name' => 'field_test',
+      'type' => 'test_field',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_test',
+      'entity_type' => 'multifield',
+      'bundle' => 'field_multifield',
+    ));
+    field_create_instance(array(
+      'field_name' => 'field_multifield',
+      'entity_type' => 'node',
+      'bundle' => $node_type,
+    ));
+
+    // Test creating a new entity with a manual ID.
+    $node = entity_create_stub_entity('node', array(1, 1, $node_type));
+    $node->is_new = TRUE;
+    $node->field_multifield[LANGUAGE_NONE][0]['field_test'][LANGUAGE_NONE][0]['value'] = 1;
+    node_save($node);
+
+    $clone = clone $node;
+    $clone->nid = NULL;
+    $clone->vid = NULL;
+    node_save($clone);
+
+    $this->assertEqual($node->field_multifield[LANGUAGE_NONE][0]['field_test'], $clone->field_multifield[LANGUAGE_NONE][0]['field_test']);
+    $this->assertNotEqual($node->field_multifield[LANGUAGE_NONE][0]['id'], $clone->field_multifield[LANGUAGE_NONE][0]['id']);
+  }
 }
