diff --git a/cod_session_evaluations/cod_session_evaluations.features.field.inc b/cod_session_evaluations/cod_session_evaluations.features.field.inc
index 058c466..5a52e8d 100644
--- a/cod_session_evaluations/cod_session_evaluations.features.field.inc
+++ b/cod_session_evaluations/cod_session_evaluations.features.field.inc
@@ -10,7 +10,7 @@
 function cod_session_evaluations_field_default_fields() {
   $fields = array();
 
-  // Exported field: 'node-session_evaluation-body'
+  // Exported field: 'node-session_evaluation-body'.
   $fields['node-session_evaluation-body'] = array(
     'field_config' => array(
       'active' => '1',
@@ -36,6 +36,7 @@ function cod_session_evaluations_field_default_fields() {
           0 => 'format',
         ),
       ),
+      'locked' => '0',
       'module' => 'text',
       'settings' => array(
         'field_permissions' => array(
@@ -99,7 +100,7 @@ function cod_session_evaluations_field_default_fields() {
     ),
   );
 
-  // Exported field: 'node-session_evaluation-field_eval_session'
+  // Exported field: 'node-session_evaluation-field_eval_session'.
   $fields['node-session_evaluation-field_eval_session'] = array(
     'field_config' => array(
       'active' => '1',
@@ -111,39 +112,43 @@ function cod_session_evaluations_field_default_fields() {
         'type' => '0',
       ),
       'foreign keys' => array(
-        'nid' => array(
+        'node' => array(
           'columns' => array(
-            'nid' => 'nid',
+            'target_id' => 'nid',
           ),
           'table' => 'node',
         ),
       ),
       'indexes' => array(
-        'nid' => array(
-          0 => 'nid',
+        'target_id' => array(
+          0 => 'target_id',
         ),
       ),
-      'module' => 'node_reference',
+      'locked' => '0',
+      'module' => 'entityreference',
       'settings' => array(
-        'referenceable_types' => array(
-          'article' => 0,
-          'bof_session' => 0,
-          'page' => 0,
-          'room' => 0,
-          'schedule_item' => 0,
-          'session' => 'session',
-          'session_evaluation' => 0,
-          'time_slot' => 0,
-          'webform' => 0,
-        ),
-        'view' => array(
-          'args' => array(),
-          'display_name' => '',
-          'view_name' => '',
+        'handler' => 'base',
+        'handler_settings' => array(
+          'behaviors' => array(
+            'views-select-list' => array(
+              'status' => 0,
+            ),
+          ),
+          'sort' => array(
+            'direction' => 'ASC',
+            'field' => 'body:value',
+            'property' => 'title',
+            'type' => 'property',
+          ),
+          'target_bundles' => array(
+            'session' => 'session',
+          ),
         ),
+        'handler_submit' => 'Change handler',
+        'target_type' => 'node',
       ),
       'translatable' => '0',
-      'type' => 'node_reference',
+      'type' => 'entityreference',
     ),
     'field_instance' => array(
       'bundle' => 'session_evaluation',
@@ -153,17 +158,13 @@ function cod_session_evaluations_field_default_fields() {
       'display' => array(
         'default' => array(
           'label' => 'above',
-          'module' => 'node_reference',
-          'settings' => array(),
-          'type' => 'node_reference_default',
+          'module' => 'entityreference',
+          'settings' => array(
+            'link' => FALSE,
+          ),
+          'type' => 'entityreference_label',
           'weight' => 1,
         ),
-        'ical' => array(
-          'label' => 'above',
-          'settings' => array(),
-          'type' => 'hidden',
-          'weight' => 0,
-        ),
         'teaser' => array(
           'label' => 'above',
           'settings' => array(),
@@ -180,20 +181,9 @@ function cod_session_evaluations_field_default_fields() {
       ),
       'widget' => array(
         'active' => 1,
-        'module' => 'nodereference_url',
-        'settings' => array(
-          'autocomplete_match' => 'contains',
-          'edit_fallback' => 0,
-          'fallback' => 'select',
-          'node_link' => array(
-            'destination' => 'source',
-            'full' => 1,
-            'hover_title' => 'Fill out a short survey about this session',
-            'teaser' => 0,
-            'title' => 'Provide feedback on this session',
-          ),
-        ),
-        'type' => 'nodereference_url',
+        'module' => 'options',
+        'settings' => array(),
+        'type' => 'options_select',
         'weight' => '-3',
       ),
     ),
diff --git a/cod_session_evaluations/cod_session_evaluations.info b/cod_session_evaluations/cod_session_evaluations.info
index b817b08..949cf42 100644
--- a/cod_session_evaluations/cod_session_evaluations.info
+++ b/cod_session_evaluations/cod_session_evaluations.info
@@ -2,12 +2,15 @@ name = COD Session Evaluations
 description = Allow users to provide feedback about sessions
 core = 7.x
 package = COD
+php = 5.2.4
 project = cod_session_evaluations
 dependencies[] = cod_session
 dependencies[] = content_access
+dependencies[] = entityreference
 dependencies[] = features
 dependencies[] = node_reference
 dependencies[] = nodereference_url
+dependencies[] = options
 dependencies[] = strongarm
 dependencies[] = views
 dependencies[] = views_data_export
@@ -27,6 +30,7 @@ features[variable][] = comment_form_location_session_evaluation
 features[variable][] = comment_preview_session_evaluation
 features[variable][] = comment_session_evaluation
 features[variable][] = comment_subject_field_session_evaluation
+features[variable][] = field_bundle_settings_node__session_evaluation
 features[variable][] = menu_options_session_evaluation
 features[variable][] = menu_parent_session_evaluation
 features[variable][] = node_options_session_evaluation
diff --git a/cod_session_evaluations/cod_session_evaluations.module b/cod_session_evaluations/cod_session_evaluations.module
index 035eca0..566c16e 100644
--- a/cod_session_evaluations/cod_session_evaluations.module
+++ b/cod_session_evaluations/cod_session_evaluations.module
@@ -10,29 +10,41 @@ include_once 'cod_session_evaluations.features.inc';
 * Implements hook_form_alter().
 */
 function cod_session_evaluations_form_session_evaluation_node_form_alter(&$form, &$form_state, $form_id) {
-  if (!empty($form['field_eval_session'][LANGUAGE_NONE][0]['nid']['#default_value'])) {
-      $session_nid = $form['field_eval_session'][LANGUAGE_NONE][0]['nid']['#default_value'];
-  }
-  // If the user has already reviewed the referenced session, don't let her
-  // submit another session evaluation.
-  if (cod_session_evaluations_user_reviewed_session($form['uid']['#value'], $session_nid)) {
-    $form['#access'] = FALSE;
-    drupal_set_message(t('You have already evaluated this session. You can only submit one evaluation per session.'));
-    drupal_goto('node/'. $session_nid);
+  if (!empty($form['field_eval_session']['und']['#default_value'])) {
+    $session_nid = $form['field_eval_session']['und']['#default_value'];
+    // If the user has already reviewed the referenced session, don't let her
+    // submit another session evaluation.
+    if (cod_session_evaluations_user_reviewed_session($form['uid']['#value'], $session_nid[0])) {
+      $form['#access'] = FALSE;
+      drupal_set_message(t('You have already evaluated this session. You can only submit one evaluation per session.'));
+      drupal_goto('node/'. $session_nid[0]);
+    }
   }
 }
 
 
 /**
-* Implements hook_node_view_alter().
+* Implements hook_node_view().
 */
-function cod_session_evaluations_node_view_alter(&$build) {
+function cod_session_evaluations_node_view($node, $view_mode, $langcode) {
   global $user;
   $account = $user;
   // Hide the "Provide feedback on this session" links if the user has already
   // submitted a survey about this session.
-  if (cod_session_evaluations_user_reviewed_session($account->uid, $build['#node']->nid)) {
-    unset($build['links']['nodereference_url']['#links']['session_evaluation_field_eval_session']);
+  if (!cod_session_evaluations_user_reviewed_session($account->uid, $node->nid)) {
+    $links = array(
+      'feedback' => array(
+        'title' => variable_get('cod_session_evaluations_feedback_text', t('Provide feedback on this session')),
+        'href' => 'node/add/session-evaluation',
+        'query' => array('nid' => $node->nid, 'destination' => $_GET['q']),
+      ),
+    );
+
+    $node->content['links']['cod_session_evaluations_feedback'] = array(
+      '#theme' => 'links__node__cod_session_evaluations_feedback',
+      '#links' => $links,
+      '#attributes' => array('class' => array('links', 'inline')),
+    );
   }
 }
 
@@ -42,10 +54,20 @@ function cod_session_evaluations_node_view_alter(&$build) {
 function cod_session_evaluations_node_validate($node, $form, &$form_state) {
   if ($node->type == 'session_evaluation') {
     // Check if user has already submitted an evaluation for this session.
-    if (cod_session_evaluations_user_reviewed_session($form['uid']['#value'], $form['field_eval_session'][LANGUAGE_NONE][0]['nid']['nid']['#value'])) {
-      $nids = array_keys($result['node']);
+    if (cod_session_evaluations_user_reviewed_session($form['uid']['#value'], $form['field_eval_session']['und']['#value'])) {
       form_set_error('field_eval_session', t('You have already evaluated this session. You can only submit one evaluation per session.'));
-    }   
+    }
+  }
+}
+
+/**
+ * Implements hook_field_widget_form_alter().
+ */
+function cod_session_evaluations_field_widget_form_alter(&$element, &$form_state, $context) {
+  $field_name = 'field_eval_session';
+  // Set a default value based on the nid.
+  if ($element['#field_name'] == $field_name && isset($_GET['nid'])) {
+    $element['#default_value'] = $_GET['nid'];
   }
 }
 
@@ -59,8 +81,8 @@ function cod_session_evaluations_user_reviewed_session($uid, $nid) {
     ->propertyCondition('status', 1)
     ->propertyCondition('type', 'session_evaluation')
     ->propertyCondition('uid', $uid)
-    ->fieldCondition('field_eval_session', 'nid', $nid);
-  $result = $query->execute(); 
+    ->fieldCondition('field_eval_session', 'target_id', $nid);
+  $result = $query->execute();
   return !empty($result['node']);
 }
 
diff --git a/cod_session_evaluations/cod_session_evaluations.strongarm.inc b/cod_session_evaluations/cod_session_evaluations.strongarm.inc
index 75046a1..96c6fcc 100644
--- a/cod_session_evaluations/cod_session_evaluations.strongarm.inc
+++ b/cod_session_evaluations/cod_session_evaluations.strongarm.inc
@@ -10,77 +10,94 @@
 function cod_session_evaluations_strongarm() {
   $export = array();
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'ant_pattern_session_evaluation';
   $strongarm->value = '[current-user:name]\'s evaluation of [node:field_eval_session]';
   $export['ant_pattern_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'ant_session_evaluation';
   $strongarm->value = '1';
   $export['ant_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'cod_unique_session_evaluation';
   $strongarm->value = 'single';
   $export['cod_unique_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_anonymous_session_evaluation';
   $strongarm->value = 0;
   $export['comment_anonymous_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_default_mode_session_evaluation';
   $strongarm->value = 1;
   $export['comment_default_mode_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_default_per_page_session_evaluation';
   $strongarm->value = '50';
   $export['comment_default_per_page_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_form_location_session_evaluation';
   $strongarm->value = 1;
   $export['comment_form_location_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_preview_session_evaluation';
   $strongarm->value = '1';
   $export['comment_preview_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_session_evaluation';
   $strongarm->value = '2';
   $export['comment_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'comment_subject_field_session_evaluation';
   $strongarm->value = 1;
   $export['comment_subject_field_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
+  $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
+  $strongarm->api_version = 1;
+  $strongarm->name = 'field_bundle_settings_node__session_evaluation';
+  $strongarm->value = array(
+    'view_modes' => array(),
+    'extra_fields' => array(
+      'form' => array(
+        'title' => array(
+          'weight' => '-5',
+        ),
+      ),
+      'display' => array(),
+    ),
+  );
+  $export['field_bundle_settings_node__session_evaluation'] = $strongarm;
+
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'menu_options_session_evaluation';
@@ -89,14 +106,14 @@ function cod_session_evaluations_strongarm() {
   );
   $export['menu_options_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'menu_parent_session_evaluation';
   $strongarm->value = 'main-menu:0';
   $export['menu_parent_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'node_options_session_evaluation';
@@ -106,14 +123,14 @@ function cod_session_evaluations_strongarm() {
   );
   $export['node_options_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'node_preview_session_evaluation';
   $strongarm->value = '1';
   $export['node_preview_session_evaluation'] = $strongarm;
 
-  $strongarm = new stdClass;
+  $strongarm = new stdClass();
   $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
   $strongarm->api_version = 1;
   $strongarm->name = 'node_submitted_session_evaluation';
diff --git a/cod_session_evaluations/cod_session_evaluations.views_default.inc b/cod_session_evaluations/cod_session_evaluations.views_default.inc
index 6929b6d..0b5a1b0 100644
--- a/cod_session_evaluations/cod_session_evaluations.views_default.inc
+++ b/cod_session_evaluations/cod_session_evaluations.views_default.inc
@@ -65,12 +65,11 @@ function cod_session_evaluations_views_default_views() {
   $handler->display->display_options['style_options']['override'] = 1;
   $handler->display->display_options['style_options']['sticky'] = 0;
   $handler->display->display_options['style_options']['empty_table'] = 0;
-  /* Relationship: Content: Session being evaluated (field_eval_session) */
+  /* Relationship: Broken/missing handler */
   $handler->display->display_options['relationships']['field_eval_session_nid']['id'] = 'field_eval_session_nid';
   $handler->display->display_options['relationships']['field_eval_session_nid']['table'] = 'field_data_field_eval_session';
   $handler->display->display_options['relationships']['field_eval_session_nid']['field'] = 'field_eval_session_nid';
   $handler->display->display_options['relationships']['field_eval_session_nid']['required'] = 0;
-  $handler->display->display_options['relationships']['field_eval_session_nid']['delta'] = '-1';
   /* Relationship: Content: Author */
   $handler->display->display_options['relationships']['uid']['id'] = 'uid';
   $handler->display->display_options['relationships']['uid']['table'] = 'node';
@@ -216,7 +215,7 @@ function cod_session_evaluations_views_default_views() {
   $handler->display->display_options['filters']['type']['value'] = array(
     'session_evaluation' => 'session_evaluation',
   );
-  /* Filter criterion: Content: Session being evaluated (field_eval_session) */
+  /* Filter criterion: Broken/missing handler */
   $handler->display->display_options['filters']['field_eval_session_nid']['id'] = 'field_eval_session_nid';
   $handler->display->display_options['filters']['field_eval_session_nid']['table'] = 'field_data_field_eval_session';
   $handler->display->display_options['filters']['field_eval_session_nid']['field'] = 'field_eval_session_nid';
@@ -225,7 +224,6 @@ function cod_session_evaluations_views_default_views() {
   $handler->display->display_options['filters']['field_eval_session_nid']['expose']['label'] = 'Session';
   $handler->display->display_options['filters']['field_eval_session_nid']['expose']['operator'] = 'field_eval_session_nid_op';
   $handler->display->display_options['filters']['field_eval_session_nid']['expose']['identifier'] = 'field_eval_session_nid';
-  $handler->display->display_options['filters']['field_eval_session_nid']['expose']['reduce'] = 0;
   /* Filter criterion: Content: Published */
   $handler->display->display_options['filters']['status']['id'] = 'status';
   $handler->display->display_options['filters']['status']['table'] = 'node';
@@ -425,7 +423,7 @@ function cod_session_evaluations_views_default_views() {
   $handler->display->display_options['fields']['title']['hide_alter_empty'] = 1;
   $handler->display->display_options['fields']['title']['link_to_node'] = 1;
   $handler->display->display_options['defaults']['arguments'] = FALSE;
-  /* Contextual filter: Content: Session being evaluated (field_eval_session) */
+  /* Contextual filter: Broken/missing handler */
   $handler->display->display_options['arguments']['field_eval_session_nid']['id'] = 'field_eval_session_nid';
   $handler->display->display_options['arguments']['field_eval_session_nid']['table'] = 'field_data_field_eval_session';
   $handler->display->display_options['arguments']['field_eval_session_nid']['field'] = 'field_eval_session_nid';
@@ -437,8 +435,6 @@ function cod_session_evaluations_views_default_views() {
   $handler->display->display_options['arguments']['field_eval_session_nid']['summary']['number_of_records'] = '0';
   $handler->display->display_options['arguments']['field_eval_session_nid']['summary']['format'] = 'default_summary';
   $handler->display->display_options['arguments']['field_eval_session_nid']['summary_options']['items_per_page'] = '25';
-  $handler->display->display_options['arguments']['field_eval_session_nid']['break_phrase'] = 0;
-  $handler->display->display_options['arguments']['field_eval_session_nid']['not'] = 0;
   $handler->display->display_options['defaults']['filters'] = FALSE;
   /* Filter criterion: Content: Type */
   $handler->display->display_options['filters']['type']['id'] = 'type';
