diff --git a/restws.entity.inc b/restws.entity.inc
index b012e98..639f58b 100644
--- a/restws.entity.inc
+++ b/restws.entity.inc
@@ -156,13 +156,12 @@ class RestWSEntityResourceController implements RestWSQueryResourceControllerInt
   public function create(array $values) {
     // Make sure that bundle information is present on entities that have
     // bundles.
-    $entity_info = entity_get_info($this->entityType);
-    if (isset($entity_info['bundle keys'])) {
-      foreach ($entity_info['bundle keys'] as $bundle_key) {
-        if (!array_key_exists($bundle_key, $values)) {
-          throw new RestWSException('Missing bundle: ' . $bundle_key, 406);
-        }
-      }
+      if (!empty($entity_info['entity keys']['bundle'])) {
+    	$bundle_key = $entity_info['entity keys']['bundle'];
+     	$entity = $bundle_key->value();
+      if (empty($entity->$bundle_key)) {
+        throw new RestWSException('Missing bundle: ' . $bundle_key, 406);
+	}
     }
 
     try {
