diff --git a/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt b/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt
index c2d93f7879..eb6e35ad12 100644
--- a/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt
+++ b/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt
@@ -61,11 +61,10 @@ class NodeArgsParser : AbstractArgsParser<CmdLineOptions>() {
 
     override fun doParse(optionSet: OptionSet): CmdLineOptions {
         require(optionSet.nonOptionArguments().isEmpty()) { "Unrecognized argument(s): ${optionSet.nonOptionArguments().joinToString(separator = ", ")}"}
-        require(!optionSet.has(baseDirectoryArg) || !optionSet.has(configFileArg)) {
-            "${baseDirectoryArg.options()[0]} and ${configFileArg.options()[0]} cannot be specified together"
-        }
+
         val baseDirectory = optionSet.valueOf(baseDirectoryArg).normalize().toAbsolutePath()
-        val configFile = baseDirectory / optionSet.valueOf(configFileArg)
+        val configFilePath = Paths.get(optionSet.valueOf(configFileArg))
+        val configFile = if (configFilePath.isAbsolute) configFilePath else baseDirectory / configFilePath.toString()
         val loggingLevel = optionSet.valueOf(loggerLevel)
         val logToConsole = optionSet.has(logToConsoleArg)
         val isRegistration = optionSet.has(isRegistrationArg)
diff --git a/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt b/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt
index c47c1e7aeb..bdd34d7bba 100644
--- a/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt
+++ b/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt
@@ -80,13 +80,6 @@ class NodeArgsParserTest {
         assertThat(cmdLineOptions.configFile).isEqualTo(configFile)
     }
 
-    @Test
-    fun `both base-directory and config-file`() {
-        assertThatExceptionOfType(IllegalArgumentException::class.java).isThrownBy {
-            parser.parse("--base-directory", "base", "--config-file", "conf")
-        }.withMessageContaining("base-directory").withMessageContaining("config-file")
-    }
-
     @Test
     fun `base-directory without argument`() {
         assertThatExceptionOfType(OptionException::class.java).isThrownBy {