diff --git a/src/app/components/generic-select/generic-select.component.html b/src/app/components/generic-select/generic-select.component.html
index 3506521b3b2d33bb79c0bacdcf7f6abf4d8b506c..53bcde259c0c9cb0b6cdc1bbaf88964af02d089d 100644
--- a/src/app/components/generic-select/generic-select.component.html
+++ b/src/app/components/generic-select/generic-select.component.html
@@ -1,4 +1,4 @@
-<div class="btn-group" dropdown (click)="onSelect($event)">
+<div class="btn-group" dropdown (selected)="onSelect($event)">
     <button dropdownToggle class="btn btn-primary dropdown-toggle waves-light my-1" type="button" mdbRippleRadius>
         {{currentLabel}}
     </button>
diff --git a/src/app/components/generic-select/generic-select.component.ts b/src/app/components/generic-select/generic-select.component.ts
index 8e457e2dd70fcae5b4a83c5d64535ad94b4c4949..119d7b93c029235f7c97c94f39b5a7d6ce6e0169 100644
--- a/src/app/components/generic-select/generic-select.component.ts
+++ b/src/app/components/generic-select/generic-select.component.ts
@@ -15,12 +15,14 @@ import { BaseComponent } from "../base/base.component";
 */
 
 export abstract class GenericSelectComponent<T> {
-    private get currentLabel(): string {
-        for (let e of this.entries)
-            if (e == this.selectedValue)
-                return this.entryLabel(e);
 
-        return "<no selection>";
+    private _currentLabel: string;
+
+    private get currentLabel(): string {
+        if (this._currentLabel === undefined) {
+            this._currentLabel = this.selectedLabel;
+        }
+        return this._currentLabel;
     }
 
     /**
@@ -28,8 +30,18 @@ export abstract class GenericSelectComponent<T> {
      */
     private onSelect(event: any) {
         const val = event.target.value;
-        if (val != undefined)
+        if (val !== undefined && val !== "") {
             this.selectedValue = val;
+            this._currentLabel = this.selectedLabel;
+        }
+    }
+
+    private get selectedLabel(): string {
+        for (const e of this.entries) {
+            if (e === this.selectedValue) {
+                return this.entryLabel(e);
+            }
+        }
     }
 
     /**