diff --git a/README.md b/README.md
index 4054da6..b9fe25c 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,19 @@
 ```
 meson builddir && meson test -C builddir
 ```
+## To enable pldm verbosity
+pldm daemon accepts a command line argument `--verbose` or `--v` or `-v` to enable the
+daemon to run in verbose mode. It can be done via adding this option to the environment
+file that pldm service consumes.
+```
+echo 'PLDMD_ARGS="--verbose"' > /etc/default/pldmd
+systemctl restart pldmd
+```
+## To disable pldm verbosity
+```
+rm /etc/default/pldmd
+systemctl restart pldmd
+```
 
 Alternatively, tests can be run in the OpenBMC CI docker container, or with an
 OpenBMC x86 sdk(see below for x86 steps).
diff --git a/meson.build b/meson.build
index 0e20765..ca005f4 100644
--- a/meson.build
+++ b/meson.build
@@ -52,7 +52,6 @@
   add_project_arguments('-DOEM_IBM', language : 'c')
   add_project_arguments('-DOEM_IBM', language : 'cpp')
 endif
-conf_data.set('PLDM_VERBOSITY',get_option('verbosity'))
 conf_data.set('NUMBER_OF_REQUEST_RETRIES', get_option('number-of-request-retries'))
 conf_data.set('INSTANCE_ID_EXPIRATION_INTERVAL',get_option('instance-id-expiration-interval'))
 conf_data.set('RESPONSE_TIME_OUT',get_option('response-time-out'))
@@ -204,13 +203,6 @@
     output: 'pldmd.service',
   )
 
-  configure_file(
-    input: 'pldmd/verbosity/verbosity',
-    output: 'pldm_verbosity',
-    configuration: conf_data,
-    install: true,
-    install_dir: join_paths(get_option('sysconfdir'), 'default'))
-
   if get_option('oem-ibm').enabled()
     subdir('oem/ibm/service_files')
   endif
diff --git a/meson_options.txt b/meson_options.txt
index 7bb863f..c4a1d59 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,4 @@
 option('tests', type: 'feature', description: 'Build tests', value: 'enabled')
-option('verbosity',type:'integer',min:0, max:1, description: 'Enables/Disables pldm verbosity',value: 0)
 option('oe-sdk', type: 'feature', description: 'Enable OE SDK')
 option('oem-ibm', type: 'feature', description: 'Enable IBM OEM PLDM')
 option('requester-api', type: 'feature', description: 'Enable libpldm requester API', value: 'enabled')
diff --git a/pldmd/pldmd.cpp b/pldmd/pldmd.cpp
index 1e7cd15..dc0a2bb 100644
--- a/pldmd/pldmd.cpp
+++ b/pldmd/pldmd.cpp
@@ -147,37 +147,25 @@
 {
     std::cerr << "Usage: pldmd [options]\n";
     std::cerr << "Options:\n";
-    std::cerr
-        << "  --verbose=<0/1>  0 - Disable verbosity, 1 - Enable verbosity\n";
-    std::cerr << "Defaulted settings:  --verbose=0 \n";
+    std::cerr << "  [--verbose] - would enable verbosity\n";
 }
 
 int main(int argc, char** argv)
 {
     bool verbose = false;
-    static struct option long_options[] = {
-        {"verbose", required_argument, 0, 'v'}, {0, 0, 0, 0}};
+    static struct option long_options[] = {{"verbose", no_argument, 0, 'v'},
+                                           {0, 0, 0, 0}};
 
-    auto argflag = getopt_long(argc, argv, "v:", long_options, nullptr);
+    auto argflag = getopt_long(argc, argv, "v", long_options, nullptr);
     switch (argflag)
     {
         case 'v':
-            switch (std::stoi(optarg))
-            {
-                case 0:
-                    verbose = false;
-                    break;
-                case 1:
-                    verbose = true;
-                    break;
-                default:
-                    optionUsage();
-                    exit(EXIT_FAILURE);
-            }
+            verbose = true;
             break;
         case -1:
             break;
         default:
+            optionUsage();
             exit(EXIT_FAILURE);
     }
 
diff --git a/pldmd/service_files/pldmd.service b/pldmd/service_files/pldmd.service
index 4eaa706..4972822 100644
--- a/pldmd/service_files/pldmd.service
+++ b/pldmd/service_files/pldmd.service
@@ -7,8 +7,8 @@
 Restart=always
 Type=dbus
 BusName=xyz.openbmc_project.PLDM
-EnvironmentFile=/etc/default/pldm_verbosity
-ExecStart=/usr/bin/pldmd --verbose $VERBOSE
+EnvironmentFile=-/etc/default/pldmd
+ExecStart=/usr/bin/pldmd $PLDMD_ARGS
 
 [Install]
 WantedBy=multi-user.target
diff --git a/pldmd/verbosity/verbosity b/pldmd/verbosity/verbosity
deleted file mode 100644
index 45cf9bf..0000000
--- a/pldmd/verbosity/verbosity
+++ /dev/null
@@ -1 +0,0 @@
-VERBOSE=@PLDM_VERBOSITY@
