diff --git a/core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/SimpleLinkManagerTest.java b/core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/LinkManagerTest.java
similarity index 98%
rename from core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/SimpleLinkManagerTest.java
rename to core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/LinkManagerTest.java
index 131af14..f7aeb08 100644
--- a/core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/SimpleLinkManagerTest.java
+++ b/core/trivial/src/test/java/org/onlab/onos/net/trivial/link/impl/LinkManagerTest.java
@@ -38,7 +38,7 @@
 /**
  * Test codifying the link service & link provider service contracts.
  */
-public class SimpleLinkManagerTest {
+public class LinkManagerTest {
 
     private static final ProviderId PID = new ProviderId("of", "foo");
     private static final DeviceId DID1 = deviceId("of:foo");
@@ -50,7 +50,7 @@
     private static final PortNumber P3 = PortNumber.portNumber(3);
 
 
-    private SimpleLinkManager mgr;
+    private LinkManager mgr;
 
     protected LinkService service;
     protected LinkAdminService admin;
@@ -61,10 +61,11 @@
 
     @Before
     public void setUp() {
-        mgr = new SimpleLinkManager();
+        mgr = new LinkManager();
         service = mgr;
         admin = mgr;
         registry = mgr;
+        mgr.store = new SimpleLinkStore();
         mgr.eventDispatcher = new TestEventDispatcher();
         mgr.deviceService = new DeviceManager();
         mgr.activate();
diff --git a/core/trivial/src/test/java/org/onlab/onos/net/trivial/topology/impl/DefaultTopologyProviderTest.java b/core/trivial/src/test/java/org/onlab/onos/net/trivial/topology/impl/DefaultTopologyProviderTest.java
index 858841f..0ef4e63 100644
--- a/core/trivial/src/test/java/org/onlab/onos/net/trivial/topology/impl/DefaultTopologyProviderTest.java
+++ b/core/trivial/src/test/java/org/onlab/onos/net/trivial/topology/impl/DefaultTopologyProviderTest.java
@@ -16,7 +16,7 @@
 import org.onlab.onos.net.topology.TopologyProviderRegistry;
 import org.onlab.onos.net.topology.TopologyProviderService;
 import org.onlab.onos.net.trivial.device.impl.DeviceManager;
-import org.onlab.onos.net.trivial.link.impl.SimpleLinkManager;
+import org.onlab.onos.net.trivial.link.impl.LinkManager;
 
 import java.util.List;
 import java.util.Set;
@@ -140,7 +140,7 @@
         }
     }
 
-    private class TestLinkService extends SimpleLinkManager {
+    private class TestLinkService extends LinkManager {
         TestLinkService() {
             eventDispatcher = new TestEventDispatcher();
             eventDispatcher.addSink(LinkEvent.class, listenerRegistry);
