--- forum.module	2009-06-04 04:27:48.000000000 +1000
+++ forum_working.module	2009-09-18 14:58:30.000000000 +1000
@@ -217,8 +217,10 @@ function forum_nodeapi(&$node, $op, $tea
     case 'prepare':
       if (empty($node->nid)) {
         // New topic
-        $node->taxonomy[arg(3)]->vid = $vid;
-        $node->taxonomy[arg(3)]->tid = arg(3);
+        $node->taxonomy[arg(3)] = (object) array(
+          'vid' => $vid,
+          'tid' => arg(3),
+        );
       }
       break;
 
