diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index eb9b22ce02938990ad439ad2138ef101f886a895..54eca8fba15d1ab85930d96bb33e447b27aa7d2c 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -9,6 +9,7 @@
 - cta/CTA#670 - Add the ability to read EnstoreLarge tapes
 
 ### Bug Fixes
+- cta/CTA#466 - Changed `cta.archivefile.max_size_gb` to correctly use powers of 1000 instead of 1024
 - cta/CTA#485 - Check disk file metadata on delete requests
 - cta/CTA#634 - Fix crash of ctafrontend in initialisation for missing config values
 - cta/CTA#645 - Fix new mount timeout log message
@@ -18,7 +19,7 @@
 - cta/CTA#682 - Generate taped's log file with correct owner and group
 - cta/CTA#683 - Fix problems with field consistency in json logging
 - cta/CTA#688 - Fix tapeserver umask to allow directory creation in POSIX filesystems
-- cta/CTA#466 - Changed `cta.archivefile.max_size_gb` to correctly use powers of 1000 instead of 1024
+- cta/CTA#693 - Fix tapeserver tool regressions
 
 ### Continuous Integration
 - cta/CTA#615 - Going to xrdfs xattr API for EOS5 extended attribute tests (EOS >= 5.2.17)
diff --git a/tapeserver/cta-taped.cpp b/tapeserver/cta-taped.cpp
index 6b1c564cadcde038c7b7d5593b098476ebf6d899..1005a9440db9e34ac8d81264eb6c2e59a30a9f5f 100644
--- a/tapeserver/cta-taped.cpp
+++ b/tapeserver/cta-taped.cpp
@@ -79,7 +79,7 @@ static int exceptionThrowingMain(const cta::daemon::CommandLineParams& commandLi
   logStartOfDaemon(log, commandLine);
 
   // Parse /etc/cta/cta-taped-unitName.conf parameters
-  const TapedConfiguration globalConfig = TapedConfiguration::createFromCtaConf(commandLine.configFileLocation, log);
+  const TapedConfiguration globalConfig = TapedConfiguration::createFromConfigPath(commandLine.configFileLocation, log);
 
   // Set log lines to JSON format if configured and not overridden on command line
   if(commandLine.logFormat.empty()) {
@@ -162,7 +162,7 @@ int main(const int argc, char **const argv) {
   tape::daemon::common::TapedConfiguration globalConfig;
   try {
   globalConfig =
-      tape::daemon::common::TapedConfiguration::createFromCtaConf(commandLine->configFileLocation, *logPtr);
+      tape::daemon::common::TapedConfiguration::createFromConfigPath(commandLine->configFileLocation, *logPtr);
   } catch (const exception::Exception &ex) {
     std::list<cta::log::Param> params = {
       cta::log::Param("exceptionMessage", ex.getMessage().str())};
diff --git a/tapeserver/daemon/common/TapedConfiguration.cpp b/tapeserver/daemon/common/TapedConfiguration.cpp
index 2392f9b04930d6b4bc32e6d60017d96c4ec3f4e7..f28aa08d86fcf9b04d3b7e7de1e2d22ad8267bf4 100644
--- a/tapeserver/daemon/common/TapedConfiguration.cpp
+++ b/tapeserver/daemon/common/TapedConfiguration.cpp
@@ -112,9 +112,9 @@ std::string TapedConfiguration::getFirstDriveName() {
 }
 
 //------------------------------------------------------------------------------
-// TapedConfiguration::createFromCtaConf w path
+// TapedConfiguration::createFromConfigPath
 //------------------------------------------------------------------------------
-TapedConfiguration TapedConfiguration::createFromCtaConf(
+TapedConfiguration TapedConfiguration::createFromConfigPath(
   const std::string &driveTapedConfigPath, cta::log::Logger &log) {
   TapedConfiguration ret;
 
@@ -229,12 +229,12 @@ TapedConfiguration TapedConfiguration::createFromCtaConf(
   return ret;
 }
 
-TapedConfiguration TapedConfiguration::createFromCtaConf(
+TapedConfiguration TapedConfiguration::createFromOptionalDriveName(
   const std::optional<std::string> &unitName, cta::log::Logger &log) {
   // Get the config file path
   const std::string driveTapedConfigPath = getDriveConfigFile(unitName, log);
 
-  return createFromCtaConf(driveTapedConfigPath, log);
+  return createFromConfigPath(driveTapedConfigPath, log);
 }
 
 //------------------------------------------------------------------------------
diff --git a/tapeserver/daemon/common/TapedConfiguration.hpp b/tapeserver/daemon/common/TapedConfiguration.hpp
index bc5a181becb44ff1949ac306a4ae49d655a318f9..1d33f5d789f3bdb437c9e58b0a0a60060f908af4 100644
--- a/tapeserver/daemon/common/TapedConfiguration.hpp
+++ b/tapeserver/daemon/common/TapedConfiguration.hpp
@@ -32,11 +32,11 @@ namespace cta::tape::daemon::common {
  * to spawn a transfer session per drive.
  */
 struct TapedConfiguration {
-  static TapedConfiguration createFromCtaConf(
+  static TapedConfiguration createFromConfigPath(
           const std::string &configFilePath,
           cta::log::Logger &log=gDummyLogger);
 
-  static TapedConfiguration createFromCtaConf(
+  static TapedConfiguration createFromOptionalDriveName(
           const std::optional<std::string> &unitName,
           cta::log::Logger & log = gDummyLogger);
 
diff --git a/tapeserver/daemon/common/TapedConfigurationTests.cpp b/tapeserver/daemon/common/TapedConfigurationTests.cpp
index 828a398637b28ed90ca09ef28dd6de5d2fc62618..7eeeaacdc29c778956dc242f8e2d2c465e425a7a 100644
--- a/tapeserver/daemon/common/TapedConfigurationTests.cpp
+++ b/tapeserver/daemon/common/TapedConfigurationTests.cpp
@@ -41,10 +41,10 @@ TEST(cta_Daemon, TapedConfiguration) {
   "general SchedulerBackendName dummyProdUser\n"
   "general ServiceName dummy-service-name\n");
 
-  ASSERT_THROW(cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(incompleteConfFile.path()),
+  ASSERT_THROW(cta::tape::daemon::common::TapedConfiguration::createFromConfigPath(incompleteConfFile.path()),
     cta::SourcedParameter<std::string>::MandatoryParameterNotDefined);
   auto completeConfig = 
-    cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(completeConfFile.path());
+    cta::tape::daemon::common::TapedConfiguration::createFromConfigPath(completeConfFile.path());
   ASSERT_EQ(completeConfFile.path()+":2", completeConfig.backendPath.source());
   ASSERT_EQ("vfsObjectStore:///tmp/dir", completeConfig.backendPath.value());
 }
@@ -72,7 +72,7 @@ TEST(cta_Daemon, TapedConfigurationFull) {
 
   // The log parameter can be uncommented to inspect the result on the output.
   auto completeConfig = 
-    cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(completeConfFile.path()/*, log*/);
+    cta::tape::daemon::common::TapedConfiguration::createFromConfigPath(completeConfFile.path()/*, log*/);
   ASSERT_EQ(completeConfFile.path()+":2", completeConfig.backendPath.source());
   ASSERT_EQ("vfsObjectStore:///tmp/dir", completeConfig.backendPath.value());
   ASSERT_EQ(completeConfFile.path()+":3", completeConfig.fileCatalogConfigFile.source());
diff --git a/tapeserver/readtp/ReadtpCmd.cpp b/tapeserver/readtp/ReadtpCmd.cpp
index 2ab13c6eb1ca791eef19c426b9a27021b7f0552e..33bc34ab996c0bee346c6c4fd748ef65bc339096 100644
--- a/tapeserver/readtp/ReadtpCmd.cpp
+++ b/tapeserver/readtp/ReadtpCmd.cpp
@@ -103,11 +103,10 @@ void ReadtpCmd::readAndSetConfiguration(const std::string& userName, const Readt
   m_fSeqRangeList = cmdLineArgs.m_fSeqRangeList;
   m_userName = userName;
   m_destinationFiles = readListFromFile(cmdLineArgs.m_destinationFileListURL);
-  std::optional<std::string> unitName = cmdLineArgs.m_unitName.value();
 
   // Read taped config file
   const cta::tape::daemon::common::TapedConfiguration driveConfig
-  = cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(unitName, m_log);
+  = cta::tape::daemon::common::TapedConfiguration::createFromOptionalDriveName(cmdLineArgs.m_unitName, m_log);
 
   // Configure drive
   m_devFilename = driveConfig.driveDevice.value();
@@ -122,6 +121,12 @@ void ReadtpCmd::readAndSetConfiguration(const std::string& userName, const Readt
     driveConfig.rmcRequestAttempts.value());
   m_mc = std::make_unique<cta::mediachanger::MediaChangerFacade>(*(m_rmcProxy.get()), m_log);
 
+  // Configure encryption
+  const std::string externalEncryptionKeyScript = driveConfig.externalEncryptionKeyScript.value();
+  const bool useEncryption = driveConfig.useEncryption.value() == "yes";
+  m_encryptionControl = std::make_unique<castor::tape::tapeserver::daemon::EncryptionControl>(useEncryption, externalEncryptionKeyScript);
+
+
   // Configure catalogue
   const cta::rdbms::Login catalogueLogin = cta::rdbms::Login::parseFile(CATALOGUE_CONFIG_PATH);
   const uint64_t nbConns = 1;
@@ -570,15 +575,6 @@ void ReadtpCmd::rewindDrive(
 void ReadtpCmd::configureEncryption(castor::tape::tapeserver::daemon::VolumeInfo &volInfo,
                                     castor::tape::tapeserver::drive::DriveInterface &drive) {
   try {
-    const std::string DAEMON_CONFIG = "/etc/cta/cta-taped.conf";
-
-    // Config file needed to find the cta-get-encryption-key script
-    const cta::tape::daemon::common::TapedConfiguration tapedConfig =
-      cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(DAEMON_CONFIG, m_dummyLog);
-    const std::string externalEncryptionKeyScript = tapedConfig.externalEncryptionKeyScript.value();
-    const bool useEncryption = tapedConfig.useEncryption.value() == "yes";
-    m_encryptionControl = std::make_unique<castor::tape::tapeserver::daemon::EncryptionControl>(useEncryption, externalEncryptionKeyScript);
-
     // We want those scoped params to last for the whole mount.
     // This will allow each session to be logged with its encryption
     // status:
diff --git a/tapeserver/tapelabel/TapeLabelCmd.cpp b/tapeserver/tapelabel/TapeLabelCmd.cpp
index 8010be3ad40fd033ea85d46da906ad9b6da877aa..96426652e8cc7af761cba15d656b9b04e2e06d1e 100644
--- a/tapeserver/tapelabel/TapeLabelCmd.cpp
+++ b/tapeserver/tapelabel/TapeLabelCmd.cpp
@@ -401,7 +401,7 @@ void TapeLabelCmd::readAndSetConfiguration(const std::string &userName,
 
   // Read taped config file
   const cta::tape::daemon::common::TapedConfiguration driveConfig
-    = cta::tape::daemon::common::TapedConfiguration::createFromCtaConf(unitName, m_log);
+    = cta::tape::daemon::common::TapedConfiguration::createFromOptionalDriveName(unitName, m_log);
 
   // Configure drive
   m_devFilename = driveConfig.driveDevice.value();