diff --git a/pkg/standalone/vpn.go b/pkg/standalone/vpn.go
index e593f59b2108570af98977008bfac728ef8ff895..4682a47e46fc0959836f3925752e41b36cbe382a 100644
--- a/pkg/standalone/vpn.go
+++ b/pkg/standalone/vpn.go
@@ -70,6 +70,7 @@ func (b *Bitmask) startTransport() (proxy string, err error) {
 			Target:    gw.IPAddress + ":" + gw.Ports[0],
 			SocksAddr: proxy,
 		}
+		go b.listenShapeErr()
 		if iatMode, ok := gw.Options["iat-mode"]; ok {
 			b.shapes.IatMode, err = strconv.Atoi(iatMode)
 			if err != nil {
@@ -86,6 +87,17 @@ func (b *Bitmask) startTransport() (proxy string, err error) {
 	return "", fmt.Errorf("No working gateway for transport %s: %v", b.transport, err)
 }
 
+func (b *Bitmask) listenShapeErr() {
+	ch := b.shapes.GetErrorChannel()
+	for {
+		err, more := <-ch
+		if !more {
+			return
+		}
+		log.Printf("Error from shappeshifter: %v", err)
+	}
+}
+
 func (b *Bitmask) startOpenVPN(proxy string) error {
 	certPemPath, err := b.getCert()
 	if err != nil {