diff --git a/src/Form/RegisterForm.php b/src/Form/RegisterForm.php
index ceca145..d3cbaf1 100755
--- a/src/Form/RegisterForm.php
+++ b/src/Form/RegisterForm.php
@@ -2,8 +2,10 @@
 
 namespace Drupal\commerce_pos\Form;
 
+use Drupal\commerce_store\Entity\Store;
 use Drupal\Core\Entity\ContentEntityForm;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Url;
 
 /**
  * Class RegisterForm.
@@ -14,9 +16,30 @@ class RegisterForm extends ContentEntityForm {
    * {@inheritdoc}
    */
   public function form(array $form, FormStateInterface $form_state) {
-    $form = parent::form($form, $form_state);
+    // Skip building the form if there are no available stores.
+    $stores = Store::loadMultiple();
+    if (empty($stores)) {
+      $url = URL::fromRoute('entity.commerce_store.add_page');
+      drupal_set_message($this->t('Registers can\'t be created until a store has been added. <a href=":url">Add a new store.</a>', [':url' => $url->toString()]), 'error');
 
-    return $form;
+      $form_state->set('no_stores', TRUE);
+
+      return [];
+    }
+
+    return parent::form($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function actions(array $form, FormStateInterface $form_state) {
+    // Hide the action buttons if we have no stores.
+    if ($form_state->get('no_stores')) {
+      return [];
+    }
+
+    return parent::actions($form, $form_state);
   }
 
   /**
