diff --git a/includes/node.inc b/includes/node.inc
index a020cb724c94a1b3b568fc66f44daee788fb19cc..bbfd8e5d6625000448672dad60473332fedb49e1 100644
--- a/includes/node.inc
+++ b/includes/node.inc
@@ -194,9 +194,9 @@ function node_save($node, $filter) {
     // prepare the query:
     foreach ($node as $key => $value) {
       if (in_array($key, $fields)) {
-        $q[] = check_query($key) ." = '". check_input($value) ."'";
+        $q[] = check_query($key) ." = '". ($key != "revisions" ? check_input($value) : $value) ."'";
            // NOTE: for the values we use 'check_input()' such that we apply
-           //       the filters
+           //       the filters, except revisions
       }
     }
 
diff --git a/themes/goofy/goofy.theme b/themes/goofy/goofy.theme
index c2ac85a829d510e2bac98e72b5a19b644a05ec0d..a0f23d66edb04514419302dce3e1e014512de051 100644
--- a/themes/goofy/goofy.theme
+++ b/themes/goofy/goofy.theme
@@ -117,8 +117,8 @@ function node($node, $main = 0) {
         $body = check_output($node->body, 1);
       }
 
-      if ($main) {
-        $body .= "<hr color=\"#404040\" size=\"1\"><div align=\"right\">[ " . $this->links(link_node($node)) . " ]</div>";
+      if ($links = link_node($node, $main)) {
+        $body .= "<hr color=\"#404040\" size=\"1\"><div align=\"right\">[ " . $this->links($links) . " ]</div>";
       }
 
       print "<script language=\"JavaScript\"><!--\ns(\"". $this->stripbreaks(addslashes($title)) ."\",\"". $this->stripbreaks(addslashes($subleft)) ."\",\"". $this->stripbreaks(addslashes($subright)) ."\",\"". $this->stripbreaks(addslashes($body)) ."\"); // -->\n</script>\n";
diff --git a/themes/trillian/trillian.theme b/themes/trillian/trillian.theme
index 210b52950f7c1424fbade28aea3e29a5ee679a86..8cd4ee3b10d2e67912fa1be11eeb2fc8f581d9c4 100644
--- a/themes/trillian/trillian.theme
+++ b/themes/trillian/trillian.theme
@@ -1,4 +1,5 @@
 <?php
+// $Id$
 
   class Theme extends BaseTheme {
     // General colorset that can be used for this theme
@@ -55,7 +56,7 @@ function node($node, $main = 0) {
         <div style="margin-left: 25px;"><?php echo check_output($node->body, 1); ?></div>
         <div style="margin-left: 20px; padding-top: 5px; padding-bottom: 12px; color: #7c7c7c;">&gt;&gt;&gt;
         <?php
-          $links = link_node($node);
+          $links = link_node($node, $main);
           array_unshift($links, t("posted by") ." ". format_name($node));
           echo $this->links($links);
          ?>
@@ -67,6 +68,14 @@ function node($node, $main = 0) {
         <div style="text-transform: capitalize; font-size: 120%; font-weight: bold;"><?php echo check_output($node->title); ?></div>
         <div style="padding-left: 20px; padding-top: 10px; padding-bottom: 10px;"><?php echo sprintf(t("by %s on %s"), format_name($node), format_date($node->created)); ?></div>
         <div style="margin-left: 10px;"><?php echo check_output($node->body, 1); ?></div>
+        <div style="margin-left: 20px; padding-top: 5px; padding-bottom: 12px; color: #7c7c7c;">&gt;&gt;&gt;
+        <?php
+          if ($links = link_node($node, $main)) {
+            //array_unshift($links, t("posted by") ." ". format_name($node));
+            echo $this->links($links);
+          }
+         ?>
+        </div>
         <?php
       }
     }