diff --git a/includes/tvi.admin.inc b/includes/tvi.admin.inc
index 0210b4f..0fadba3 100755
--- a/includes/tvi.admin.inc
+++ b/includes/tvi.admin.inc
@@ -12,11 +12,11 @@
  */
 function tvi_display_options_ahah() {
 
-  $view_id = $_GET['view_id'];
+  $view_name = $_GET['view_name'];
   $options = '';
 
-  if ($view_id > 0) {
-    foreach (tvi_get_view_displays($view_id) as $name => $label) {
+  if ($view_name > 0) {
+    foreach (tvi_get_view_displays($view_name) as $name => $label) {
       $options .= "<option value='$name'>$label</option>";
     }
   }
@@ -81,8 +81,9 @@ function tvi_taxonomy_admin_form(&$form, $settings) {
   drupal_add_css("$path/tvi.css");
 
   // Add validate and submit handlers
-  //$form['#validate'][] = 'tvi_validate_handler';
+  $form['#validate'][] = 'tvi_validate_handler';
   $form['#submit'][]   = 'tvi_submit_handler';
+  
   // Form container
   $form['tvi'] = array(
     '#type' => 'fieldset',
@@ -118,11 +119,11 @@ function tvi_taxonomy_admin_form(&$form, $settings) {
   );
 
   //  View selector
-  $form['tvi']['view_id'] = array(
+  $form['tvi']['view_name'] = array(
     '#id' => 'tvi-view-selector',
     '#type' => 'select',
     '#title' => t('Using the view'),
-    '#default_value' => ($settings->view_id ? $settings->view_id : NULL),
+    '#default_value' => ($settings->view_name ? $settings->view_name : NULL),
     '#options' => tvi_get_views(),
     '#description' => t('The view that you wish to use for this display'),
   );
@@ -132,8 +133,8 @@ function tvi_taxonomy_admin_form(&$form, $settings) {
     '#type' => 'select',
     '#title' => t('View display'),
     '#default_value' => (
-      $settings->view_id
-      ? $settings->view_id . ':' . $settings->display
+      $settings->view_name
+      ? $settings->view_name . ':' . $settings->display
       : NULL
     ),
     '#options' => tvi_get_view_displays(), // Assume no Javascript
@@ -160,17 +161,10 @@ function tvi_taxonomy_admin_form(&$form, $settings) {
 function tvi_validate_handler($form, &$form_state) {
 
   $values = $form_state['values']['tvi'];
-  $view   = views_get_view($values['view_id']);
+  $view   = views_get_view($values['view_name']);
 
-  list($view_id, $display_name)           = explode(':', $values['display']);
+  list($view_name, $display_name)           = explode(':', $values['display']);
   $form_state['values']['tvi']['display'] = $display_name;
-
-  if ($view->vid != $view_id) {
-    form_set_error('tvi][display',
-      t('You must select a display from the selected view.'
-        . '  You wouldn\'t have this problem if you would enable Javascript.')
-    );
-  }
 }
 
 //------------------------------------------------------------------------------
@@ -200,10 +194,10 @@ function tvi_get_views($return_object = FALSE) {
   foreach (views_get_all_views() as $view) {
 
     if ($return_object) {
-      $views[$view->vid] = $view;
+      $views[$view->name] = $view;
     }
     else {
-      $views[$view->vid] = $view->name;
+      $views[$view->name] = $view->name;
     }
   }
   return $views;
@@ -220,11 +214,11 @@ function tvi_get_view_displays($view = NULL) {
   $displays = array();
 
   if ($view === NULL) {
-    foreach(tvi_get_views(TRUE) as $view_id => $view) {
+    foreach(tvi_get_views(TRUE) as $view_name => $view) {
     	foreach($view->display as $display_name => $display) {
       	// Suppress the 'default' plugin display
         $add = ($display->display_plugin != 'default') ? ' - ' . $display->display_plugin : '';
-        $displays[$view_id . ':' . $display_name] = $view->name . ' - ' . $display->display_title . $add;
+        $displays[$view_name . ':' . $display_name] = $view->name . ' - ' . $display->display_title . $add;
       }
     }
   }
@@ -237,7 +231,7 @@ function tvi_get_view_displays($view = NULL) {
       foreach($view->display as $display_name => $display) {
         // Suppress the 'default' plugin display
         $add = ($display->display_plugin != 'default') ? ' - ' . $display->display_plugin : '';
-        $displays[$view->vid . ':' . $display_name] = $display->display_title . $add;
+        $displays[$view->name . ':' . $display_name] = $display->display_title . $add;
       }
     }
   }
diff --git a/includes/tvi.query.inc b/includes/tvi.query.inc
index 382b7e6..fad4d5f 100755
--- a/includes/tvi.query.inc
+++ b/includes/tvi.query.inc
@@ -14,7 +14,7 @@ function tvi_default_settings($type = TVI_TYPE_TERM, $xid = 0) {
   $settings->type = $type;
   $settings->xid  = $xid;
   
-  $settings->view_id = 0;
+  $settings->view_name = 0;
   $settings->display = TVI_DEFAULT_DISPLAY;
   $settings->status  = 0;
   
@@ -70,7 +70,7 @@ function tvi_update_settings($settings) {
         ->condition('type', $settings->type)
         ->condition('xid', $settings->xid)
         ->fields(array(
-            'view_id' => $settings->view_id,
+            'view_name' => $settings->view_name,
             'display' => $settings->display,
             'status' => $settings->status,
           ))
@@ -81,7 +81,7 @@ function tvi_update_settings($settings) {
         ->fields(array(
             'type' => $settings->type,
             'xid' => $settings->xid,
-            'view_id' => $settings->view_id,
+            'view_name' => $settings->view_name,
             'display' => $settings->display,
             'status' => $settings->status,
           ))
diff --git a/tvi.install b/tvi.install
index dffc0c7..377adab 100755
--- a/tvi.install
+++ b/tvi.install
@@ -9,9 +9,8 @@
  * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_schema/7
  */
 function tvi_schema() {
-	
 	$schema['tvi_settings'] = array(
-		'description' => 'Stores data relating a view display with a taxonomy term or vocabulary.',
+	'description' => 'Stores data relating a view display with a taxonomy term or vocabulary.',
     'fields' => array(
       'type' => array(
         'type' => 'varchar',
@@ -27,12 +26,12 @@ function tvi_schema() {
         'default' => 0,
         'description' => 'Taxonomy vocabulary or term ID.',
       ),
-      'view_id' => array(
-        'type' => 'int',
-        'unsigned' => TRUE,
+      'view_name' => array(
+        'type' => 'varchar',
+        'length' => 32,
         'not null' => TRUE,
-        'default' => 0,
-        'description' => 'The view id that is used for this taxonomy display.',
+        'default' => '',
+        'description' => 'The view name that is used for this taxonomy display.',
       ),
       'display' => array(
         'type' => 'varchar',
@@ -63,8 +62,8 @@ function tvi_schema() {
  * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_install/7
  */
 function tvi_install() {
-	// Create tables.
-  drupal_install_schema('tvi');
+   // Create tables.
+  //drupal_install_schema('tvi_settings');
   
   // Ensure weights are ok.
   $view_info = db_select('system', 's')
@@ -89,7 +88,7 @@ function tvi_install() {
  */
 function tvi_uninstall() {
   // Remove tables.
-  drupal_uninstall_schema('tvi');
+  //drupal_uninstall_schema('tvi_settings');
 }
 
 //------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/tvi.js b/tvi.js
index f5b0aa9..6a06409 100755
--- a/tvi.js
+++ b/tvi.js
@@ -17,15 +17,15 @@ Drupal.behaviors.tvi_initialize = function(context) {
 	//--------------------------------------------------------------------------
 	
 	var view_change_handler = function() {
-		var view_id = $('#tvi-view-selector').val();
+		var view_name = $('#tvi-view-selector').val();
 		
-		if (!view_id) {
-			view_id = $('#tvi-view-selector option:first').val();
-			$('#tvi-view-selector').val(view_id);
+		if (!view_name) {
+			view_name = $('#tvi-view-selector option:first').val();
+			$('#tvi-view-selector').val(view_name);
 		}		
 		// Load new view displays.
 		$('#tvi-display-selector').load(
-			'/tvi/js/display_options?view_id=' + view_id, 
+			'/tvi/js/display_options?view_name=' + view_name, 
 			'', set_active_option
 		);
 	}
diff --git a/tvi.module b/tvi.module
index eb8bfee..fa135b8 100755
--- a/tvi.module
+++ b/tvi.module
@@ -55,10 +55,10 @@ function tvi_menu() {
  * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_menu_alter/7
  */
 function tvi_menu_alter(&$items) {
-  $items['taxonomy/term/%taxonomy_term']['page callback']    = 'tvi_render_view';
-  $items['taxonomy/term/%taxonomy_term']['page arguments']   = array(2);
-  $items['taxonomy/term/%taxonomy_term']['access callback']  = 'tvi_render_view_access';
-  $items['taxonomy/term/%taxonomy_term']['access arguments'] = array(2);
+  $items['taxonomy/term/%']['page callback']    = 'tvi_render_view';
+  $items['taxonomy/term/%']['page arguments']   = array(2);
+  $items['taxonomy/term/%']['access callback']  = 'tvi_render_view_access';
+  $items['taxonomy/term/%']['access arguments'] = array(2);
 }
 
 //------------------------------------------------------------------------------
@@ -185,9 +185,9 @@ function theme_tvi_term_description($term) {
  */
 function tvi_render_view($tid = '', $depth = 0, $op = 'page') {
 	
-	if (is_object($tid)) {
-		$tid = $tid->tid;
-	}
+  if (is_object($tid)) {
+      $tid = $tid->tid;
+  }
 	
   list($view, $display, $term, $settings) = tvi_get_view_info($tid);
   //$desc = theme('tvi_term_description', $term->name);
@@ -213,6 +213,7 @@ function tvi_render_view($tid = '', $depth = 0, $op = 'page') {
     
     
   }
+ 
   // Taxonomy is last resort - used if no standard views are found
   module_load_include('inc', 'taxonomy', 'taxonomy.pages');
   return taxonomy_term_page($term);
@@ -232,11 +233,12 @@ function tvi_render_view_access($term) {
     $tid = $term;
   }
   list($view, $display) = tvi_get_view_info($tid);
-
+  //print $display;
   if (is_object($view) && $display) {
   	if ($view->access($display)) {
       return TRUE;
     }
+
   	return FALSE;
   }
   return user_access('access content');
@@ -292,8 +294,8 @@ function tvi_get_term_info($tid, $type = TVI_DATATYPE_VIEW) {
       $settings = tvi_load_settings($term->vid, TVI_TYPE_VOCAB, FALSE);
     }
 
-    if ($settings && $settings->view_id) {
-      $view = views_get_view($settings->view_id);
+    if ($settings && $settings->view_name) {
+      $view = views_get_view($settings->view_name);
     }
 
     $term_info[$tid] = array(
