diff --git a/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue b/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue
index 5deaab572366481ee22ff147028bfb32a79e00eb..c28c778eaffadd174da5ccf496d63201f8eb0a53 100644
--- a/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue
+++ b/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue
@@ -12,14 +12,6 @@
 export default {
   name: "PositiveSmallIntegerField",
   extends: "v-text-field",
-  methods: {
-    handleInput(event) {
-      let num = parseInt(event);
-      if (!isNaN(num) && num >= 0 && num <= 32767 && num % 1 === 0) {
-        this.$emit("input", parseInt(event));
-      }
-    },
-  },
   data() {
     return {
       rules: [
@@ -46,7 +38,18 @@ export default {
     on() {
       return {
         ...this.$listeners,
-        input: this.handleInput,
+        input: this.inputHandler("input"),
+        change: this.inputHandler("change"),
+      };
+    },
+  },
+  methods: {
+    inputHandler(name) {
+      return (event) => {
+        const num = parseInt(event);
+        if (!isNaN(num) && num >= 0 && num <= 32767 && num % 1 === 0) {
+          this.$emit(name, num);
+        }
       };
     },
   },