diff --git a/src/pages/Index.vue b/src/pages/Index.vue
index 48f5d67f4989908bdb3aa205f871540b1838deab..6a0267403e548335f5fa2c7d31f42bbcd7e04bf1 100644
--- a/src/pages/Index.vue
+++ b/src/pages/Index.vue
@@ -57,8 +57,9 @@
         <q-card-section>
           <div class="column" style="width: 600px;">
             <q-input color="black" filled v-model="store.state.seed" label="Seed" type="number" maxlength="15">
-              <template v-if="store.state.seed" v-slot:append>
-                <q-icon name="cancel" @click.stop="seed = null" class="cursor-pointer" />
+              <template v-slot:append>
+                <q-icon name="cancel" @click.stop="store.state.seed = null" class="cursor-pointer" />
+                <q-icon name="refresh" @click.stop="store.state.seed = store.seedGenerator.random_int31()" class="cursor-pointer" />
               </template>
             </q-input>
             <q-btn class="q-mr-xs" color="secondary" label="Generate Random Map" @click='createRandomMap()'>
diff --git a/src/store/index.js b/src/store/index.js
index d45cac45882c0a9cb5835b8a8fd021e5f1bc4c44..f753ff122ed7d81a65d81fa55e183c8e75ef008e 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -264,5 +264,6 @@ const methods = {
 
 export default {
   state,
-  methods
+  methods,
+  seedGenerator
 };