veyron/profiles/roaming: Correctly attach listenspec.

Change-Id: Ia4c239271ed508f9044cec111c62c531f831155f
diff --git a/profiles/roaming/roaminginit.go b/profiles/roaming/roaminginit.go
index 4ad83ac..f36720d 100644
--- a/profiles/roaming/roaminginit.go
+++ b/profiles/roaming/roaminginit.go
@@ -61,6 +61,9 @@
 		Proxy: lf.ListenProxy,
 	}
 
+	ac := appcycle.New()
+	ctx = runtime.SetAppCycle(ctx, ac)
+
 	// Our address is private, so we test for running on GCE and for its
 	// 1:1 NAT configuration.
 	if !internal.HasPublicIP(log) {
@@ -68,13 +71,11 @@
 			listenSpec.AddressChooser = func(string, []ipc.Address) ([]ipc.Address, error) {
 				return []ipc.Address{&netstate.AddrIfc{addr, "nat", nil}}, nil
 			}
+			ctx = runtime.SetListenSpec(ctx, listenSpec)
 			return runtime, ctx, shutdown, nil
 		}
 	}
 
-	ac := appcycle.New()
-	ctx = runtime.SetAppCycle(ctx, ac)
-
 	publisher := veyron2.GetPublisher(ctx)
 
 	// Create stream in Init function to avoid a race between any