diff --git a/commands/http/client.go b/commands/http/client.go
index 21e8b1b350fc36bd4f7f66299371d883ab959ba0..a702947b6c13888105716db6ed25792dd31af323 100644
--- a/commands/http/client.go
+++ b/commands/http/client.go
@@ -180,7 +180,7 @@ func getResponse(httpRes *http.Response, req cmds.Request) (cmds.Response, error
 		// if output is coming from a channel, decode each chunk
 		outChan := make(chan interface{})
 
-		go readStreamedJson(req, rr, outChan)
+		go readStreamedJson(req, rr, outChan, res)
 
 		res.SetOutput((<-chan interface{})(outChan))
 		return res, nil
@@ -233,7 +233,7 @@ func getResponse(httpRes *http.Response, req cmds.Request) (cmds.Response, error
 
 // read json objects off of the given stream, and write the objects out to
 // the 'out' channel
-func readStreamedJson(req cmds.Request, rr io.Reader, out chan<- interface{}) {
+func readStreamedJson(req cmds.Request, rr io.Reader, out chan<- interface{}, resp cmds.Response) {
 	defer close(out)
 	dec := json.NewDecoder(rr)
 	outputType := reflect.TypeOf(req.Command().Type)
@@ -245,6 +245,7 @@ func readStreamedJson(req cmds.Request, rr io.Reader, out chan<- interface{}) {
 		if err != nil {
 			if err != io.EOF {
 				log.Error(err)
+				resp.SetError(err,  cmds.ErrNormal)
 			}
 			return
 		}