diff --git a/action/list.go b/action/list.go
index df8935d..8ff6c69 100644
--- a/action/list.go
+++ b/action/list.go
@@ -2,8 +2,6 @@
 
 import (
 	"encoding/json"
-	"fmt"
-	"os"
 	"path/filepath"
 	"sort"
 
@@ -87,13 +85,13 @@
 			}
 		}
 	case jsonFormat:
-		json.NewEncoder(os.Stdout).Encode(l)
+		json.NewEncoder(msg.Default.Stdout).Encode(l)
 	case jsonPrettyFormat:
 		b, err := json.MarshalIndent(l, "", "  ")
 		if err != nil {
 			msg.Die("could not unmarshal package list: %s", err)
 		}
-		fmt.Println(string(b))
+		msg.Puts(string(b))
 	default:
 		msg.Die("invalid output format: must be one of: json|json-pretty|text")
 	}
diff --git a/action/list_test.go b/action/list_test.go
index 1f2aed5..69e3eaf 100644
--- a/action/list_test.go
+++ b/action/list_test.go
@@ -1,9 +1,50 @@
 package action
 
-import "testing"
+import (
+	"bytes"
+	"encoding/json"
+	"testing"
+
+	"github.com/Masterminds/glide/msg"
+)
 
 func TestList(t *testing.T) {
-	if len(List("../", false).Installed) < 1 {
-		t.Error("Expected some packages to be found")
+	msg.Default.PanicOnDie = true
+	old := msg.Default.Stdout
+	defer func() {
+		msg.Default.Stdout = old
+	}()
+
+	var buf bytes.Buffer
+	msg.Default.Stdout = &buf
+	List("../", false, "text")
+	if buf.Len() < 5 {
+		t.Error("Expected some data to be found.")
+	}
+
+	var buf2 bytes.Buffer
+	msg.Default.Stdout = &buf2
+	List("../", false, "json")
+	j := buf2.Bytes()
+	var o PackageList
+	err := json.Unmarshal(j, &o)
+	if err != nil {
+		t.Errorf("Error unmarshaling json list: %s", err)
+	}
+	if len(o.Installed) == 0 {
+		t.Error("No packages found on json list")
+	}
+
+	var buf3 bytes.Buffer
+	msg.Default.Stdout = &buf3
+	List("../", false, "json-pretty")
+	j = buf3.Bytes()
+	var o2 PackageList
+	err = json.Unmarshal(j, &o2)
+	if err != nil {
+		t.Errorf("Error unmarshaling json-pretty list: %s", err)
+	}
+	if len(o2.Installed) == 0 {
+		t.Error("No packages found on json-pretty list")
 	}
 }
