diff --git a/core/vpn/in_memory_manager.go b/core/vpn/in_memory_manager.go
index 3f12635..a95bfd4 100644
--- a/core/vpn/in_memory_manager.go
+++ b/core/vpn/in_memory_manager.go
@@ -130,9 +130,9 @@
 	g.Peers = append(g.Peers, d)
 	groups = append(groups, g)
 	m.deviceToGroups[pubKey] = groups
-	ret := m.genNetworkMap(d)
+	ret, err := m.genNetworkMap(d)
 	m.notifyPeers(d, g)
-	return ret, nil
+	return ret, err
 }
 
 func (m *InMemoryManager) RemoveDeviceFromGroup(pubKey types.PublicKey, id types.GroupID) (*types.NetworkMap, error) {
@@ -176,7 +176,7 @@
 		panic("Should not reach")
 	}
 	m.notifyPeers(d, g)
-	return m.genNetworkMap(d), nil
+	return m.genNetworkMap(d)
 }
 
 func (m *InMemoryManager) GetNetworkMap(pubKey types.PublicKey) (*types.NetworkMap, error) {
@@ -201,7 +201,10 @@
 	// TODO(giolekva): maybe run this in a goroutine?
 	for _, peer := range g.Peers {
 		if peer.PublicKey != d.PublicKey {
-			netMap := m.genNetworkMap(peer)
+			netMap, err := m.genNetworkMap(peer)
+			if err != nil {
+				panic(err) // TODO(giolekva): handle properly
+			}
 			for _, cb := range m.callbacks[peer.PublicKey] {
 				cb(netMap)
 			}
