diff --git a/microdata.module b/microdata.module
index da868d7..f4ce7fa 100644
--- a/microdata.module
+++ b/microdata.module
@@ -379,6 +379,21 @@ function microdata_node_view($node, $view_mode, $langcode) {
 }
 
 /**
+ * Implements hook_preprocess_node().
+ */
+function microdata_preprocess_node(&$variables) {
+  $item_array = microdata_item();
+  foreach ($item_array as $entity_type => $items) {
+    if ($entity_type !== 'node') continue;
+    foreach ($items[$variables['nid']]['#attributes'] as $id => $item) {
+      // Fix for "redundant references" error
+      if ($id === 'itemref') continue;
+      $variables['attributes_array'][$id] = $item;
+    }
+  }
+}
+
+/**
  * Implements MODULE_preprocess_HOOK().
  *
  * Adds Microdata markup to the field wrapper.
