diff -urp --strip-trailing-cr ../category/contrib/category_views/category_views.install ./contrib/category_views/category_views.install
--- ../category/contrib/category_views/category_views.install	2009-08-05 06:52:54.000000000 +0200
+++ ./contrib/category_views/category_views.install	2009-09-27 20:57:16.000000000 +0200
@@ -21,28 +21,19 @@ function category_views_schema() {
         'default' => 0,
         'description' => 'ID of the container {category_cont}.cid',
       ),
-      'view_name' => array(
+      'view_for_cats' => array(
         'type' => 'varchar',
         'length' => '32',
         'default' => '0',
         'not null' => TRUE,
-        'description' => 'The unique name of the View for this container.',
+        'description' => 'The unique name of the View for categories in this container.',
       ),
-      'display_cont' => array(
-        'type' => 'int',
-        'size' => 'tiny',
-        'unsigned' => true,
-        'not null' => true,
-        'default' => 0,
-        'description' => 'Whether the View should be used for this container itself',
-      ),
-      'display_cat' => array(
-        'type' => 'int',
-        'size' => 'tiny',
-        'unsigned' => true,
-        'not null' => true,
-        'default' => 0,
-        'description' => 'Whether the View should be used for categories in this container',
+      'view_for_cont' => array(
+        'type' => 'varchar',
+        'length' => '32',
+        'default' => '0',
+        'not null' => TRUE,
+        'description' => 'The unique name of the View for this container itself.',
       ),
     ),
     'primary key' => array('cid'),
@@ -104,3 +95,33 @@ function category_views_update_6000() {
 
   return $ret;
 }
+
+/**
+ * Change the storage from single View name and two flags, to separate
+ * View names for categories and for container itself. (Added after rc1
+ * release, so there might be some real data already.)
+ */
+function category_views_update_6001() {
+  $ret = array();
+
+  // Set up the two columns for separate View names.
+  $new_field = array(
+    'type' => 'varchar',
+    'length' => '32',
+    'default' => '0',
+    'not null' => TRUE,
+  );
+  db_add_field($ret, 'category_views', 'view_for_cont', $new_field);
+  db_change_field($ret, 'category_views', 'view_name', 'view_for_cats', $new_field);
+
+  // Migrate existing settings to the new schema.
+  $ret[] = update_sql("UPDATE {category_views} SET view_for_cont = view_for_cats");
+  $ret[] = update_sql("UPDATE {category_views} SET view_for_cont = '0' WHERE display_cont = 0");
+  $ret[] = update_sql("UPDATE {category_views} SET view_for_cats = '0' WHERE display_cat = 0");
+
+  // Remove unneeded old flags.
+  db_drop_field($ret, 'category_views', 'display_cont');
+  db_drop_field($ret, 'category_views', 'display_cat');
+
+  return $ret;
+}
diff -urp --strip-trailing-cr ../category/contrib/category_views/category_views.module ./contrib/category_views/category_views.module
--- ../category/contrib/category_views/category_views.module	2009-08-05 06:52:54.000000000 +0200
+++ ./contrib/category_views/category_views.module	2009-09-27 21:35:03.000000000 +0200
@@ -29,17 +29,14 @@ function category_views_nodeapi(&$node, 
         $cache_key = 'cview_node_load';
         $output = category_cache_op('get', $node->nid, $cache_key);
         if (!isset($output)) {
+          $output = array();
           if ($behavior === 'container') {
-            $result = db_query('SELECT * FROM {category_views} WHERE cid = %d', $node->nid);
+            $result = db_query('SELECT view_for_cats, view_for_cont FROM {category_views} WHERE cid = %d', $node->nid);
           }
           else {
-            $result = db_query('SELECT v.* FROM {category_views} v INNER JOIN {category} c ON v.cid = c.cnid WHERE c.cid = %d', $node->nid);
+            $result = db_query('SELECT v.view_for_cats, v.view_for_cont FROM {category_views} v INNER JOIN {category} c ON v.cid = c.cnid WHERE c.cid = %d', $node->nid);
           }
-          $settings = db_fetch_array($result);
-          $output = array(
-            'view_for_cats' => $settings['view_name'],
-            'view_display' => array('cont' => $settings['display_cont'], 'cat' => $settings['display_cat']),
-          );
+          $output['category_views'] = db_fetch_array($result);
           category_cache_op('set', $node->nid, $cache_key, $output);
         }
         return $output;
@@ -53,10 +50,10 @@ function category_views_nodeapi(&$node, 
         // This is a container. Insert or update view settings in database.
         $old_entry = db_fetch_array(db_query('SELECT * FROM {category_views} WHERE cid = %d', $node->nid));
         if (!empty($old_entry)) {
-          db_query("UPDATE {category_views} SET view_name = '%s', display_cont = %d, display_cat = %d WHERE cid = %d", $node->view_for_cats, $node->view_display['cont'], $node->view_display['cat'], $node->nid);
+          db_query("UPDATE {category_views} SET view_for_cats = '%s', view_for_cont = '%s' WHERE cid = %d", $node->category_views['view_for_cats'], $node->category_views['view_for_cont'], $node->nid);
         }
         else {
-          db_query("INSERT INTO {category_views} (cid, view_name, display_cont, display_cat) VALUES (%d, '%s', %d, %d)", $node->nid, $node->view_for_cats, $node->view_display['cont'], $node->view_display['cat']);
+          db_query("INSERT INTO {category_views} (cid, view_for_cats, view_for_cont) VALUES (%d, '%s', '%s')", $node->nid, $node->category_views['view_for_cats'], $node->category_views['view_for_cont']);
         }
       }
       break;
@@ -82,33 +79,32 @@ function category_views_form_alter(&$for
       // Add views settings to container node form.
       $form['category']['view'] = array(
         '#type' => 'fieldset',
-        '#title' => t('Category view settings'),
+        '#title' => t('Category views settings'),
         '#collapsible' => TRUE,
         '#collapsed' => TRUE,
         '#weight' => 8,
+        '#description' => t('Choose the views to replace default node listings on category and/or container pages. If there are no views available, or if the currently available views are not adequate, you can <a href="@url">create a new view</a> (<em>warning:</em> clicking this link may cause you to leave this page, and to lose whatever information you have entered so far).', array('@url' => url('admin/build/views/add'))),
       );
       $form['#submit'][] = 'category_views_node_form_submit';
       $view_list = array(0 => '<'. t('none') .'>') + category_views_get_views();
-      $options = array(
-        'cont' => t('This container\'s page'),
-        'cat' => t('Pages for categories in this container'),
-      );
-      $form['category']['view']['view_for_cats'] = array(
+
+      $form['category']['view']['view_for_cont'] = array(
         '#type' => 'select',
         '#title' => t('View for this container'),
-        '#default_value' => isset($node->view_for_cats) ? $node->view_for_cats : 0,
+        '#default_value' => isset($node->category_views['view_for_cont']) ? $node->category_views['view_for_cont'] : 0,
         '#options' => $view_list,
         '#multiple' => FALSE,
-        '#description' => t('The view to use for rendering listings of assigned nodes, in this container and its categories. If you do not check either of the \'show view on\' boxes below, then it makes no difference whether or not you select a view here. Conversely, if you leave this setting at its default value (&lt;none&gt;), then it makes no difference whether or not you check either of the boxes below. If there are no views available, or if the currently available views are not adequate, you can !create-view (<em>warning:</em> clicking this link may cause you to leave this page, and to lose whatever information you have entered so far).', array('!create-view' => l(t('create a new view'), 'admin/build/views/add'))),
-      );
-      $form['category']['view']['view_display'] = array(
-        '#type' => 'checkboxes',
-        '#title' => t('Show view on'),
-        '#default_value' => array('cat' => empty($node->view_display['cat']) ? 0 : 'cat', 'cont' => empty($node->view_display['cont']) ? 0 : 'cont'),
-        '#options' => $options,
-        '#description' => t('Whether to use this view for rendering assigned node listings on this container\'s page, and/or on pages for categories in this container. The node listing will be passed to the view renderer, instead of to the default category module renderer.'),
+        '#description' => t('The view to use for rendering listings of assigned nodes on this container\'s page. Recommendation: The view should use the <em>Taxonomy: Vocabulary ID</em> argument, in order to pick correct nodes for this container.'),
       );
 
+      $form['category']['view']['view_for_cats'] = array(
+        '#type' => 'select',
+        '#title' => t('View for categories in this container'),
+        '#default_value' => isset($node->category_views['view_for_cats']) ? $node->category_views['view_for_cats'] : 0,
+        '#options' => $view_list,
+        '#multiple' => FALSE,
+        '#description' => t('The view to use for rendering listings of assigned nodes on pages for categories in this container. Recommendation: The view should use the <em>Taxonomy: Term ID</em> argument, in order to pick correct nodes for these categories.'),
+      );
     }
   }
 }
@@ -121,11 +117,10 @@ function category_views_form_alter(&$for
  */
 function category_views_node_form_submit($form, &$form_state) {
   if (isset($form_state['values']['category']['view']['view_for_cats'])) {
-    $form_state['values']['view_for_cats'] = $form_state['values']['category']['view']['view_for_cats'];
+    $form_state['values']['category_views']['view_for_cats'] = $form_state['values']['category']['view']['view_for_cats'];
   }
-  if (isset($form_state['values']['category']['view']['view_display'])) {
-    $form_state['values']['view_display']['cont'] = (int) !empty($form_state['values']['category']['view']['view_display']['cont']);
-    $form_state['values']['view_display']['cat'] = (int) !empty($form_state['values']['category']['view']['view_display']['cat']);
+  if (isset($form_state['values']['category']['view']['view_for_cont'])) {
+    $form_state['values']['category_views']['view_for_cont'] = $form_state['values']['category']['view']['view_for_cont'];
   }
   unset($form_state['values']['category']['view']);
 }
@@ -194,13 +189,11 @@ function category_views_get_views() {
  *   Boolean TRUE if a view should be used, FALSE otherwise.
  */
 function category_views_is_visible($node, $type = NULL) {
-  if ($node->view_for_cats) {
-    if ($node->category['behavior'] === 'container' && $node->view_display['cont']) {
-      return TRUE;
-    }
-    elseif ($node->category['behavior'] === 'category' && $node->view_display['cat']) {
-      return TRUE;
-    }
+  if ($node->category['behavior'] === 'container' && $node->category_views['view_for_cont']) {
+    return TRUE;
+  }
+  elseif ($node->category['behavior'] === 'category' && $node->category_views['view_for_cats']) {
+    return TRUE;
   }
   return FALSE;
 }
@@ -217,10 +210,16 @@ function category_views_is_visible($node
  *   another page (such as a category page).
  */
 function category_views_render_nodes($node) {
+  if ($node->category['behavior'] === 'container') {
+    $view_name = $node->category_views['view_for_cont'];
+  }
+  else {
+    $view_name = $node->category_views['view_for_cats'];
+  }
   // We cannot use the simple views_embed_view() function, because the Exposed
   // filters submit button won't point back to the category node in that case.
   // We do the same manually here, adding the necessary path override.
-  $view = views_get_view($node->view_for_cats);
+  $view = views_get_view($view_name);
   if ($view) {
     $view->override_path = 'node/%';
     return $view->preview('default', array($node->nid));
