diff --git a/modules/checkout/commerce_checkout.module b/modules/checkout/commerce_checkout.module
index 210b408..c90d05c 100644
--- a/modules/checkout/commerce_checkout.module
+++ b/modules/checkout/commerce_checkout.module
@@ -475,10 +475,14 @@ function commerce_checkout_pages() {
 }
 
 /**
- * Returns the page ID of the first checkout page sorted by weight.
+ * Returns the page ID of the first checkout page.
+ *
+ * By default the page ID is the first checkout page sorted by weight. You may
+ * also set the "commerce_checkout_first_checkout_page" variable to prevent
+ * the need to run commerce_checkout_pages() which builds page and pane info.
  */
 function commerce_checkout_first_checkout_page() {
-  return key(commerce_checkout_pages());
+  return return variable_get('commerce_checkout_first_checkout_page', key(commerce_checkout_pages()));
 }
 
 /**
