diff --git a/entity.test b/entity.test
index 03c2551..f23da87 100644
--- a/entity.test
+++ b/entity.test
@@ -742,6 +742,33 @@ class EntityMetadataTestCase extends EntityWebTestCase {
     $account = $this->drupalCreateUser();
     // For testing sanitizing give the user a malicious user name
     $account = user_save($account, array('name' => '<b>BadName</b>'));
+
+    // Test setting the body value empty and check the values again.
+    $title = 'Empty Calories';
+
+    // Populate defaults node array with empty body field.
+    $body[LANGUAGE_NONE][0] = array('value' => '', 'summary' => '');
+    $node_array = array(
+      'type' => 'page',
+      'body' => $body,
+      'title' => $title,
+    );
+
+    // Cast to an object and save.
+    $node = (object) $node_array;
+    node_save($node);
+
+    $wrapper = entity_metadata_wrapper('node', $node);
+    // Get body's EntityValueWrapper and assert the type is correct.
+    $body_value = $wrapper->body->value;
+    $this->assertEqual('EntityValueWrapper', get_class($body_value), 'Body value is a an EntityValueWrapper type.');
+
+    // Test the value wrappers methods on empty values.
+    $this->assertEqual('Empty Calories', $wrapper->title->value(), 'Getting a title value.');
+    $this->assertEqual('', $body_value->value(), "Getting empty processed value.");
+    $this->assertEqual('', $body_value->value(array('decode' => TRUE)), "Empty Decoded value.");
+    $this->assertEqual('', $body_value->raw(), "Raw empty body returned.");
+
     $title = '<b>Is it bold?<b>';
     $body[LANGUAGE_NONE][0] = array('value' => '<b>The body & nothing.</b>', 'summary' => '<b>The body.</b>');
     $node = $this->drupalCreateNode(array('uid' => $account->uid, 'name' => $account->name, 'body' => $body, 'title' => $title, 'summary' => '', 'type' => 'page'));
diff --git a/includes/entity.wrapper.inc b/includes/entity.wrapper.inc
index 67764e7..8e02ea4 100644
--- a/includes/entity.wrapper.inc
+++ b/includes/entity.wrapper.inc
@@ -434,9 +434,6 @@ class EntityStructureWrapper extends EntityMetadataWrapper implements IteratorAg
   protected function getPropertyValue($name, &$info) {
     $options = array('language' => $this->getPropertyLanguage(), 'absolute' => TRUE);
     $data = $this->value();
-    if (!isset($data)) {
-      throw new EntityMetadataWrapperException('Unable to get the data property ' . check_plain($name) . ' as the parent data structure is not set.');
-    }
     return $info['getter callback']($data, $options, $name, $this->type, $info);
   }
 
@@ -447,9 +444,6 @@ class EntityStructureWrapper extends EntityMetadataWrapper implements IteratorAg
     if (!empty($info['raw getter callback'])) {
       $options = array('language' => $this->getPropertyLanguage(), 'absolute' => TRUE);
       $data = $this->value();
-      if (!isset($data)) {
-        throw new EntityMetadataWrapperException('Unable to get the data property ' . check_plain($name) . ' as the parent data structure is not set.');
-      }
       return $info['raw getter callback']($data, $options, $name, $this->type, $info);
     }
     return $this->getPropertyValue($name, $info);
