diff --git a/frontend/src/components/Map.vue b/frontend/src/components/Map.vue
index 6c1a807..422e9df 100644
--- a/frontend/src/components/Map.vue
+++ b/frontend/src/components/Map.vue
@@ -474,7 +474,7 @@ export default {
           this.hasPrevPage = true
         }
 
-        newQuery.order = 'desc'
+        newQuery.order = newQuery.order || 'desc'
         this.setQuery(
           {
             ...newQuery,
diff --git a/frontend/src/components/filter/Form.vue b/frontend/src/components/filter/Form.vue
index 2fd1572..0547be5 100644
--- a/frontend/src/components/filter/Form.vue
+++ b/frontend/src/components/filter/Form.vue
@@ -99,6 +99,17 @@
       </div>
     </div>
 
+    <div class="order-container">
+      <label for="order">Order</label>
+      <select id="order"
+              name="order"
+              v-model="newFilter.order"
+              :disabled="disabled">
+        <option value="asc">Oldest points first</option>
+        <option value="desc">Newest points first</option>
+      </select>
+    </div>
+
     <div class="resolution-container">
       <label for="resolution">
         <p class="title">
@@ -239,7 +250,7 @@ export default {
     },
 
     handleSubmit() {
-      this.$emit('refresh', this.newFilter)
+      this.$emit('refresh', new LocationQuery(this.newFilter))
       if (this.newResolution !== this.resolution) {
         this.$emit('set-resolution', this.newResolution)
       }