diff -urpN --strip-trailing-cr ../category/category.module ./category.module
--- ../category/category.module	2009-03-05 23:23:54.000000000 +0100
+++ ./category.module	2009-05-16 17:42:46.000000000 +0200
@@ -395,7 +395,13 @@ function category_form_alter(&$form, $fo
     $node = $form['#node'];
 
     if (!isset($node->categories)) {
-      $categories = empty($node->nid) ? array() : category_node_get_categories($node);
+      $categories = array();
+      if (!empty($node->nid)) {
+        $categories = category_node_get_categories($node);
+      }
+      else if (arg(0) == 'node' && arg(1) == 'add' && is_numeric(arg(3))) {
+        $categories[arg(3)] = category_get_category(arg(3));
+      }
     }
     else {
       // After preview the categories must be converted to objects.
