diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000FlowRuleProgrammableTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000FlowRuleProgrammableTest.java
index e884495..24aad06 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000FlowRuleProgrammableTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000FlowRuleProgrammableTest.java
@@ -29,7 +29,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onlab.packet.EthType.EtherType;
 import org.onlab.packet.IpPrefix;
@@ -57,7 +56,6 @@
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class EA1000FlowRuleProgrammableTest {
     EA1000FlowRuleProgrammable frProgramable;
 
diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000MeterProviderTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000MeterProviderTest.java
index 2a78b3c..b00b321 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000MeterProviderTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/EA1000MeterProviderTest.java
@@ -19,7 +19,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onosproject.core.DefaultApplicationId;
 import org.onosproject.drivers.microsemi.yang.MockMseaUniEvcServiceManager;
@@ -37,7 +36,6 @@
 import org.onosproject.net.meter.MeterOperation.Type;
 import org.onosproject.netconf.NetconfController;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class EA1000MeterProviderTest {
 
     private EA1000MeterProvider meterProvider;
diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/IetfSystemManagerTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/IetfSystemManagerTest.java
index d3ecf92..098ecdd 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/IetfSystemManagerTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/IetfSystemManagerTest.java
@@ -25,7 +25,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onlab.packet.Ip4Address;
 import org.onosproject.drivers.microsemi.yang.impl.IetfSystemManager;
@@ -43,7 +42,6 @@
 import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.ietfsystem.system.clock.timezone.DefaultTimezoneName;
 import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.systemstate.platform.DefaultAugmentedSysPlatform;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class IetfSystemManagerTest {
 
     IetfSystemManager sysSvc = null;
diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaCfmManagerTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaCfmManagerTest.java
index 28013c7..e3a81bc 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaCfmManagerTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaCfmManagerTest.java
@@ -24,7 +24,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onlab.packet.Ip4Address;
 import org.onosproject.drivers.microsemi.yang.impl.MseaCfmManager;
@@ -40,7 +39,6 @@
 import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.mefcfm.maintenancedomain.mdnameandtypecombo.NameCharacterString;
 import org.onosproject.yang.gen.v1.mseatypes.rev20160229.mseatypes.Identifier45;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class MseaCfmManagerTest {
 
     MseaCfmManager mseaCfmService;
diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaSaFilteringManagerTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaSaFilteringManagerTest.java
index 0d39fa4..acb6ae6 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaSaFilteringManagerTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaSaFilteringManagerTest.java
@@ -24,7 +24,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onlab.packet.Ip4Address;
 import org.onosproject.drivers.microsemi.yang.impl.MseaSaFilteringManager;
@@ -41,7 +40,6 @@
 import org.onosproject.yang.gen.v1.mseasafiltering.rev20160412.mseasafiltering.sourceipaddressfiltering.interfaceeth0.DefaultSourceAddressRange;
 import org.onosproject.yang.gen.v1.mseasafiltering.rev20160412.mseasafiltering.sourceipaddressfiltering.interfaceeth0.SourceAddressRange;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class MseaSaFilteringManagerTest {
 
     MseaSaFilteringManager mseaSaSvc;
diff --git a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaUniEvcServiceManagerTest.java b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaUniEvcServiceManagerTest.java
index 9c0932d..8d8b2bd 100644
--- a/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaUniEvcServiceManagerTest.java
+++ b/drivers/microsemi/src/test/java/org/onosproject/drivers/microsemi/yang/MseaUniEvcServiceManagerTest.java
@@ -28,7 +28,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onlab.packet.Ip4Address;
 import org.onosproject.drivers.microsemi.yang.impl.MseaUniEvcServiceManager;
@@ -69,7 +68,6 @@
 import org.onosproject.yang.gen.v1.mseaunievcservice.rev20160317.mseaunievcservice.mefservices.uni.evc.evcperuni.EvcPerUnic;
 import org.onosproject.yang.gen.v1.mseaunievcservice.rev20160317.mseaunievcservice.mefservices.uni.evc.evcperuni.EvcPerUnin;
 
-@Ignore("temporary until dual registration of YANG models is fixed")
 public class MseaUniEvcServiceManagerTest {
 
     MseaUniEvcServiceManager mseaUniEvcServiceSvc;
