diff --git a/vud_node/views/vud_node_handler_field_widget.inc b/vud_node/views/vud_node_handler_field_widget.inc
index 9e403d8..a3169f3 100644
--- a/vud_node/views/vud_node_handler_field_widget.inc
+++ b/vud_node/views/vud_node_handler_field_widget.inc
@@ -40,6 +40,7 @@ class vud_node_handler_field_widget extends views_handler_field {
       if ($valid_type) {
         $tag = variable_get('vud_tag', 'vote');
         $widget_type = variable_get('vud_node_widget', 'plain');
+        drupal_alter('vud_node_widget', $widget, $nid);
         $widget_message_code = (!$can_edit) ? VUD_WIDGET_MESSAGE_DENIED : VUD_WIDGET_MESSAGE_ERROR;
 
         $widget = theme('vud_widget', $nid, 'node', $tag, $widget_type, !$can_edit, $widget_message_code);
diff --git a/vud_node/vud_node.api.php b/vud_node/vud_node.api.php
new file mode 100644
index 0000000..b12b03b
--- /dev/null
+++ b/vud_node/vud_node.api.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * Alter the widget type depending on  the $node.
+ * @param string $widget
+ *   The widget type.
+ * @param $node
+ *   The node object or NID being viewed. In the case of Views handlers
+ *   the full node object may not be available.
+ */
+function hook_vud_node_widget_alter(&$widget, $node) {
+  if ($node->type == 'answer') {
+    $widget = 'upanddown';
+  }
+}
\ No newline at end of file
diff --git a/vud_node/vud_node.module b/vud_node/vud_node.module
index 1e5d0f0..860c6c4 100644
--- a/vud_node/vud_node.module
+++ b/vud_node/vud_node.module
@@ -147,6 +147,7 @@ function vud_node_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
         $node_type = in_array($node->type, variable_get('vud_node_types', array()), TRUE);
         $widget_showmode = variable_get('vud_node_widget_show', VUD_NODE_DISPLAY_BOTH);
         $widget = variable_get('vud_node_widget', 'plain');
+        drupal_alter('vud_node_widget', $widget, $node);
         $vote_on_teaser = (bool)variable_get('vud_node_widget_vote_on_teaser', TRUE);
         $teaser = $a3;
 
@@ -254,6 +255,7 @@ function vud_node_link($type, $object, $teaser = FALSE) {
       $votes_display_mode = variable_get('vud_node_votes', VUD_NODE_DISPLAY_BOTH);
       $node_type = in_array($node->type, variable_get('vud_node_types', array()), TRUE);
       $widget_theme = variable_get('vud_node_widget', 'plain');
+      drupal_alter('vud_node_widget', $widget_theme, $node);
       $tag = variable_get('vud_tag', 'vote');
       $view_vud_node_votes_count = user_access('view vote up/down count on nodes') || user_access('use vote up/down on nodes');
       switch ($votes_display_mode) {
