diff --git a/src/main.c b/src/main.c
index be7e7e7d71af2f8c5408ba8a9f2601f7023d0ad3..948aa6e21158b715c08e7abcf25cd0852cd8b802 100644
--- a/src/main.c
+++ b/src/main.c
@@ -89,11 +89,12 @@ int main(int argc, char **argv)
 {
 	int ret;
 	int ch;
+	int num_of_q;
 
 	/* Logging to syslog */
 	openlog("qosmngr", LOG_PID|LOG_CONS, LOG_LOCAL1);
 
-	while ((ch = getopt(argc, argv, "vs:e:")) != -1) {
+	while ((ch = getopt(argc, argv, "vsq:e:")) != -1) {
 		switch (ch) {
 		case 'v':
 			qosmngr_version();
@@ -101,6 +102,10 @@ int main(int argc, char **argv)
 		case 's':
 			ubus_socket = optarg;
 			break;
+		case 'q':
+			num_of_q = qos_get_num_of_queue(argv[argc-1]);
+			printf("%d", num_of_q);
+			exit(0);
 		default:
 			break;
 		}