diff --git a/protocols/isis/server/device.go b/protocols/isis/server/device.go
index 45a4bab216f64354e43d32d00c610bb012552086..77dafda8dcc2cff39f86b23116beb582a132e995 100644
--- a/protocols/isis/server/device.go
+++ b/protocols/isis/server/device.go
@@ -70,6 +70,12 @@ func (d *dev) DeviceUpdate(phy *device.Device) {
 	d.phyMu.Lock()
 	defer d.phyMu.Unlock()
 
+	if d.sys == nil {
+		d.sys = &bioSys{
+			device: phy,
+		}
+	}
+
 	d.phy = phy
 	if d.phy.OperState == device.IfOperUp {
 		err := d.enable()