diff --git a/nd.module b/nd.module
index b43357f..58037e0 100644
--- a/nd.module
+++ b/nd.module
@@ -1,4 +1,5 @@
 <?php
+// $Id: nd.module,v 1.1.2.123.2.63 2010/12/15 21:55:52 swentel Exp $
 
 /**
  * @file
@@ -319,6 +320,7 @@ function nd_theme() {
   $vocab_formatters  = array(
     'nd_terms_per_vocabulary_space', 'nd_terms_per_vocabulary_linked_space',
     'nd_terms_per_vocabulary_comma', 'nd_terms_per_vocabulary_linked_comma',
+    'nd_terms_per_vocabulary_list', 'nd_terms_per_vocabulary_linked_list',
   );
   foreach ($vocab_formatters as $formatter) {
     $theme_functions[$formatter] = array(
@@ -462,6 +464,8 @@ function nd_ds_fields($type_name, $build_mode, $extra) {
             'nd_terms_per_vocabulary_linked_space' => t('Separated by space, linked to term'),
             'nd_terms_per_vocabulary_comma' => t('Separated by comma'),
             'nd_terms_per_vocabulary_linked_comma' => t('Separated by comma, linked to term'),
+            'nd_terms_per_vocabulary_list' => t('Unordered list'),
+            'nd_terms_per_vocabulary_linked_list' => t('Unordered list, linked to term'),
           ),
         ),
       );
@@ -593,6 +597,7 @@ function nd_terms_per_vocabulary($field) {
     $formatter_explode = explode('_', $field['formatter']);
     $separators = array('space' => ' ', 'comma' => ', ');
     $separator = $separators[end($formatter_explode)];
+    $list = (end($formatter_explode) == 'list') ? TRUE : FALSE;
     $linked = prev($formatter_explode);
 
     foreach ($field['object']->taxonomy as $tid => $term) {
@@ -601,7 +606,12 @@ function nd_terms_per_vocabulary($field) {
       }
     }
     if (!empty($terms)) {
-      $content = implode($separator, $terms);
+      if ($separator) {
+        $content = implode($separator, $terms);
+      }
+      elseif ($list) {
+        $content = theme('item_list', $terms);
+      }
     }
   }
   return $content;
@@ -632,10 +642,8 @@ function nd_book_navigation($field) {
  * Add new child for book.
  */
 function theme_nd_book_add_new_child($field) {
-  if (user_access('add content to books')) {
-    $child = str_replace('_', '-', variable_get('book_child_type', 'book'));
-    return l(t('Add child page'), 'node/add/'. $child, array('query' => array('parent' => $field['object']->book['mlid'])));
-  }
+  $child = str_replace('_', '-', variable_get('book_child_type', 'book'));
+  return l(t('Add child page'), 'node/add/'. $child, array('query' => array('parent' => $field['object']->book['mlid'])));
 }
 
 /**
