diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp
index 2cddea25d..45bc0a1f3 100644
--- a/src/wallet/wallet_rpc_server.cpp
+++ b/src/wallet/wallet_rpc_server.cpp
@@ -179,8 +179,13 @@ namespace tools
       }
     }
     m_restricted = command_line::get_arg(*m_vm, arg_restricted);
-    if (command_line::has_arg(*m_vm, arg_wallet_dir))
+    if (!command_line::is_arg_defaulted(*m_vm, arg_wallet_dir))
     {
+      if (!command_line::is_arg_defaulted(*m_vm, wallet_args::arg_wallet_file()))
+      {
+        MERROR(arg_wallet_dir.name << " and " << wallet_args::arg_wallet_file().name << " are incompatible, use only one of them");
+        return false;
+      }
       m_wallet_dir = command_line::get_arg(*m_vm, arg_wallet_dir);
 #ifdef _WIN32
 #define MKDIR(path, mode)    mkdir(path)