diff --git advpoll.module advpoll.module
index 80fb369..bdd4f5d 100644
--- advpoll.module
+++ advpoll.module
@@ -205,7 +205,11 @@ function advpoll_init() {
  * Results access callback.
  */
 function _advpoll_results_access($node) {
-  return strstr($node->type, 'advpoll_') && _advpoll_is_active($node) && $node->votes > 0 && !$node->voted && _advpoll_can_view_results($node);
+  return 
+    strstr($node->type, 'advpoll_') // If advpoll type
+    && _advpoll_is_active($node) // Results shown in body when closed
+    && !$node->voted // Results shown in body when voted
+    && _advpoll_can_view_results($node); // User can view results
 }
 
 /**
@@ -1003,7 +1007,9 @@ function advpoll_electoral_list_form_submit($form, &$form_state) {
  */
 function _advpoll_can_view_results($node) {
   $view_results = variable_get('advpoll_view_results_'. $node->type, ADVPOLL_VIEW_RESULTS);
-  return (!_advpoll_is_active($node)  // Node is closed
+  return (
+        user_access('inspect all votes')
+        || !_advpoll_is_active($node)  // Node is closed
         || ($node->voted && $view_results == 'aftervote') // User voted
         || ($view_results == 'always')); // All can view
 }
