diff --git a/lib/leap_cli/commands/test.rb b/lib/leap_cli/commands/test.rb
index 70eb00fde486f3d503305ab0056a4fa7c47e6dac..e2815aaecf225ca1bb4f64521a49f133dcb14719 100644
--- a/lib/leap_cli/commands/test.rb
+++ b/lib/leap_cli/commands/test.rb
@@ -35,7 +35,7 @@ module LeapCli; module Commands
         SSH::remote_command(node, options) do |ssh, host|
           ssh.stream(test_cmd(options), :raise_error => true, :log_wrap => true)
         end
-      rescue LeapCli::SSH::ExecuteError
+      rescue LeapCli::SSH::TimeoutError, SSHKit::Runner::ExecuteError, SSHKit::Command::Failed
         if options[:continue]
           exit_status(1)
         else
diff --git a/lib/leap_cli/ssh/backend.rb b/lib/leap_cli/ssh/backend.rb
index 3894d8158c9637a5b8a3335fc56fad50e6838549..599fc9a0b3568e93d3229dcd3f9471d583a04257 100644
--- a/lib/leap_cli/ssh/backend.rb
+++ b/lib/leap_cli/ssh/backend.rb
@@ -178,7 +178,7 @@ module LeapCli
       rescue StandardError => exc
         if exc.is_a?(SSHKit::Command::Failed) || exc.is_a?(SSHKit::Runner::ExecuteError)
           if @options[:raise_error]
-            raise LeapCli::SSH::ExecuteError, exc.to_s
+            raise exc
           elsif @options[:fail_msg]
             @logger.log(@options[:fail_msg], host: @host.hostname, :color => :red)
           else