Index: views/modules/node/views_plugin_row_node_view.inc
===================================================================
--- views/modules/node/views_plugin_row_node_view.inc
+++ views/modules/node/views_plugin_row_node_view.inc
@@ -14,7 +14,7 @@
   function option_definition() {
     $options = parent::option_definition();
 
-    $options['teaser'] = array('default' => TRUE);
+    $options['build_mode'] = array('default' => 'teaser');
     $options['links'] = array('default' => TRUE);
     $options['comments'] = array('default' => FALSE);
 
@@ -22,11 +22,37 @@
   }
 
   function options_form(&$form, &$form_state) {
-    $form['teaser'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Display only teaser'),
-      '#default_value' => $this->options['teaser'],
+
+    $options = array(
+      'teaser' => t('Teaser'),
+      'full' => t('Full node'),
     );
+
+    // If CCK exists - use its build modes registry.
+    if (module_exists('content')) {
+      // Get all available build modes.
+      $modes = content_build_modes();
+      foreach ($modes as $key => $value) {
+        if (isset($value['views style']) && $value['views style']) {
+          $options[$key] = $value['title'];
+        }
+      }
+    }
+
+    // Handle existing views with deprecated 'teaser' option.
+    if (isset($this->options['teaser'])) {
+      $default = $this->options['teaser'] ? 'teaser' : 'full';
+    }
+    else {
+      $default = $this->options['build_mode'];
+    }
+
+    $form['build_mode'] = array(
+      '#type' => 'select',
+      '#options' => $options,
+      '#title' => t('Build mode'),
+      '#default_value' => $default,
+    );
     $form['links'] = array(
       '#type' => 'checkbox',
       '#title' => t('Display links'),
Index: views/modules/node.views.inc
===================================================================
--- views/modules/node.views.inc
+++ views/modules/node.views.inc
@@ -675,6 +675,12 @@
     return;
   }
 
+  // Handle build modes.
+  if (isset($options['build_mode'])) {
+    $options['teaser'] = ($options['build_mode'] == 'teaser');
+    $node->build_mode = ($options['build_mode'] == 'teaser' || $options['build_mode'] == 'full') ? NODE_BUILD_NORMAL : $options['build_mode'];
+  }
+
   $vars['node'] = node_view($node, $options['teaser'], FALSE, $options['links']);
   $vars['comments'] = NULL;
   if (!empty($options['comments']) && function_exists('comment_render')) {
