diff --git a/uc_order/uc_order.admin.inc b/uc_order/uc_order.admin.inc
index 62df9d7..3596b04 100644
--- a/uc_order/uc_order.admin.inc
+++ b/uc_order/uc_order.admin.inc
@@ -35,12 +35,6 @@ function uc_order_settings_form($form, &$form_state) {
     '#group' => 'order-settings',
     '#weight' => -1,
   );
-  $form['invoice']['uc_cust_view_order_invoices'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Allow customers to view order invoices from their order history.'),
-    '#description' => t('Enabling this feature allows pop-up invoices to be opened when a particular order is being viewed.'),
-    '#default_value' => variable_get('uc_cust_view_order_invoices', TRUE),
-  );
   $form['invoice']['uc_cust_order_invoice_template'] = array(
     '#type' => 'select',
     '#title' => t('On-site invoice template'),
diff --git a/uc_order/uc_order.install b/uc_order/uc_order.install
index 8fc8d6e..34510d3 100644
--- a/uc_order/uc_order.install
+++ b/uc_order/uc_order.install
@@ -704,7 +704,6 @@ function uc_order_uninstall() {
     ->execute();
 
   variable_del('uc_order_capitalize_addresses');
-  variable_del('uc_cust_view_order_invoices');
   variable_del('uc_cust_order_invoice_template');
 }
 
@@ -896,3 +895,13 @@ function uc_order_update_7300() {
 
   variable_del('uc_order_cron_last');
 }
+
+/**
+ * Convert view invoices checkbox to permission.
+ */
+function uc_order_update_7301() {
+  if (variable_get('uc_cust_view_order_invoices', TRUE)) {
+    user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('view own invoices'));
+  }
+  variable_del('uc_cust_view_order_invoices');
+}
diff --git a/uc_order/uc_order.module b/uc_order/uc_order.module
index b38f9db..8d88fa9 100644
--- a/uc_order/uc_order.module
+++ b/uc_order/uc_order.module
@@ -407,6 +407,9 @@ function uc_order_permission() {
     'view own orders' => array(
       'title' => t('View own orders'),
     ),
+    'view own invoices' => array(
+      'title' => t('View own invoices'),
+    ),
     'view all orders' => array(
       'title' => t('View all orders'),
     ),
@@ -1128,7 +1131,7 @@ function uc_order_view($order, $view_mode = 'full') {
     }
   }
 
-  if ($view_mode == 'customer' && variable_get('uc_cust_view_order_invoices', TRUE)) {
+  if ($view_mode == 'customer' && user_access('view own invoices')) {
     $link = uc_store_get_icon('file:print') . ' ' . t('Click to open a window with a printable invoice.');
     $order->content['print_button'] = array(
       '#markup' => l($link, 'user/' . $order->uid . '/orders/' . $order->order_id . '/print', array(
@@ -1970,7 +1973,7 @@ function uc_order_actions($order, $icon_html = FALSE) {
       'title' => $alt,
     );
 
-    if (variable_get('uc_cust_view_order_invoices', TRUE)) {
+    if (user_access('view own invoices')) {
       $alt = t('Print order @order_id.', $order_id);
       $actions[] = array(
         'name' => t('Print'),
