diff --git a/similarterms.module b/similarterms.module
index 990a307..0720358 100644
--- a/similarterms.module
+++ b/similarterms.module
@@ -507,22 +507,24 @@ function similarterms_taxonomy_get_vocabularies() {
  * This function gets all taxonomy vocabularies for a certain node with option limits for Vocabularies
  */
 function similarterms_taxonomy_node_get_terms($node, $vid = NULL) {
-  $terms = &drupal_static(__FUNCTION__);
+  $terms = &drupal_static(__FUNCTION__, array());
 
   $fields = field_info_fields();
   $story_vocabs = array();
   foreach ($fields as $field_name => $field) {
     if ($field['type'] == 'taxonomy_term_reference' && !empty($field['bundles']['node']) && in_array($node->type, $field['bundles']['node'])) {
       $node_fields = field_get_items('node', $node, $field['field_name']);
-      foreach ($node_fields as $item) {
-        if (($vid == NULL) || ($item['taxonomy_term']->vid == $vid)) {
+      if ($node_fields) {
+        foreach ($node_fields as $item) {
+          if (($vid == NULL) || ($item['taxonomy_term']->vid == $vid)) {
             $terms[$node->vid]['tid'][$item['tid']] = $item['taxonomy_term'];
+          }
         }
       }
     }
   }
 
-  return $terms[$node->vid]['tid'];
+  return !empty($terms[$node->vid]) ? $terms[$node->vid]['tid'] : array();
 }
 
 /**
