diff --git a/src/cam/options.h b/src/cam/options.h
index 5e346b474f765841..5060fee0c26b896f 100644
--- a/src/cam/options.h
+++ b/src/cam/options.h
@@ -71,10 +71,12 @@ public:
 	{
 	};
 
+	virtual ~KeyValueParser(){};
+
 	bool addOption(const char *name, OptionType type, const char *help,
 		       OptionArgument argument = ArgumentNone);
 
-	Options parse(const char *arguments);
+	virtual Options parse(const char *arguments);
 	void usage(int indent);
 
 private:
