diff --git a/winrm/command.go b/winrm/command.go
index <HASH>..<HASH> 100644
--- a/winrm/command.go
+++ b/winrm/command.go
@@ -4,6 +4,7 @@ import (
 	"bytes"
 	"errors"
 	"io"
+	"strings"
 )
 
 type commandWriter struct {
@@ -105,6 +106,11 @@ func (command *Command) slurpAllOutput() (finished bool, err error) {
 
 	response, err := command.client.sendRequest(request)
 	if err != nil {
+		if strings.Contains(err.Error(), "OperationTimeout") {
+			// Operation timeout because there was no command output
+			return
+		}
+
 		command.Stderr.write.CloseWithError(err)
 		command.Stdout.write.CloseWithError(err)
 		return true, err
Fix an issue where no output for <I> seconds would throw an error