diff --git a/autocategorise.module b/autocategorise.module
index 4445fe9..e677258 100644
--- a/autocategorise.module
+++ b/autocategorise.module
@@ -235,6 +235,26 @@ function _apply_vocab_to_node($node, $terms, $vocab){
   
   // Append title to body of node 
   $haystack = strtolower($node->title .' '. $node->body);
+
+  // Traverse node object attributes, look for cck('field_') and location data and append it
+  if (is_object($node)) {
+    foreach($node as $attr_key => $attr_val) {
+      if (strstr($attr_key, 'location') || strstr($attr_key, 'field_')) {
+        if (is_array($attr_val) && count($attr_val) != 0 ) {
+          foreach ($attr_val as $arr_key => $arr_val) {
+            if (is_array($arr_val) && count($arr_val) != 0 ) {
+              foreach ($arr_val as $sub_arr_key => $sub_arr_val) {
+                $haystack.= ' ' . strtolower($sub_arr_val);
+              }
+            }
+	    else {
+              $haystack.= ' ' . strtolower($arr_val);
+            }
+          }
+        }
+      }
+    }
+  }
   
   foreach ($terms as $tid => $synonyms) {
     foreach ($synonyms as $synonym) {
@@ -295,4 +315,4 @@ function recategorise() {
   foreach ($vocabs as $vocab) {
   autocategorise_vocabulary($vocab->vid);
   }
-}
\ No newline at end of file
+}
