diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py
index 7bd2fd6..84151b8 100755
--- a/src/osmo-gsm-tester.py
+++ b/src/osmo-gsm-tester.py
@@ -23,9 +23,9 @@
 
 Examples:
 
-./run_once.py ~/my_trial_package/ -s osmo_trx
-./run_once.py ~/my_trial_package/ -c sms_tests:dyn_ts+eu_band+bts_sysmo
-./run_once.py ~/my_trial_package/ -c sms_tests/mo_mt_sms:bts_trx
+./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s osmo_trx
+./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo
+./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx
 
 (The names for test suite, scenario and series names used in these examples
 must be defined by the osmo-gsm-tester configuration.)
@@ -124,8 +124,7 @@
     parser.add_argument('-R', '--source', dest='source', action='store_true',
             help='Enable stdout logging of source file')
     parser.add_argument('-c', '--conf-dir', dest='conf_dir',
-            help='''Specify configuration dir (overrides
-OSMO_GSM_TESTER_CONF env and default locations)''')
+            help='''Specify configuration directory path (containing paths.conf)''')
     args = parser.parse_args()
 
     if args.version:
diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py
index 6730807..98d422f 100644
--- a/src/osmo_gsm_tester/core/config.py
+++ b/src/osmo_gsm_tester/core/config.py
@@ -58,9 +58,6 @@
 from . import schema
 from .util import is_dict, is_list, Dir, get_tempdir
 
-ENV_PREFIX = 'OSMO_GSM_TESTER_'
-ENV_CONF = os.getenv(ENV_PREFIX + 'CONF')
-
 override_conf = None
 
 DEFAULT_CONFIG_LOCATIONS = [
@@ -91,7 +88,9 @@
 def _get_config_file(basename, fail_if_missing=True):
     if override_conf:
         locations = [ override_conf ]
-    elif ENV_CONF:
+    elif os.getenv('OSMO_GSM_TESTER_CONF'):
+        ENV_CONF = os.getenv('OSMO_GSM_TESTER_CONF')
+        log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s is deprecated. Rather use -c command line argument!' % ENV_CONF)
         locations = [ ENV_CONF ]
     else:
         locations = DEFAULT_CONFIG_LOCATIONS
@@ -123,13 +122,6 @@
 def get_configured_path(label, allow_unset=False):
     global PATHS
 
-    env_name = ENV_PREFIX + label.upper()
-    env_path = os.getenv(env_name)
-    if env_path:
-        real_env_path = os.path.realpath(env_path)
-        log.dbg('Found path', label, 'as', env_path, 'in', '$' + env_name, 'which is', real_env_path, _category=log.C_CNF)
-        return real_env_path
-
     if PATHS is None:
         paths_file, found_in = _get_config_file(PATHS_CONF)
         PATHS = read(paths_file, PATHS_SCHEMA)
