diff --git a/models-pap/pom.xml b/models-pap/pom.xml
index 9257b9b..edb8ee7 100644
--- a/models-pap/pom.xml
+++ b/models-pap/pom.xml
@@ -33,9 +33,9 @@
     <description>The models for Policy Administration (PAP) REST API's.</description>
     <dependencies>
         <dependency>
-            <groupId>org.onap.policy.common</groupId>
-            <artifactId>pdp-common</artifactId>
-            <version>${policy.common.version}</version>
+            <groupId>org.onap.policy.models</groupId>
+            <artifactId>models-pdp</artifactId>
+            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.models</groupId>
diff --git a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpGroup.java b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpGroup.java
index a42ac21..d5e4191 100644
--- a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpGroup.java
+++ b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpGroup.java
@@ -29,7 +29,7 @@
 import lombok.Setter;
 import lombok.ToString;
 import org.onap.policy.models.base.PfUtils;
-import org.onap.policy.pdp.common.enums.PdpState;
+import org.onap.policy.models.pdp.enums.PdpState;
 
 /**
  * Class to represent a PDPGroup, which groups multiple PDPSubGroup entities together for a particular domain.
diff --git a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpInstanceDetails.java b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpInstanceDetails.java
index 4f9041c..c214c74 100644
--- a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpInstanceDetails.java
+++ b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PdpInstanceDetails.java
@@ -25,8 +25,8 @@
 import lombok.NonNull;
 import lombok.Setter;
 import lombok.ToString;
-import org.onap.policy.pdp.common.enums.PdpHealthStatus;
-import org.onap.policy.pdp.common.enums.PdpState;
+import org.onap.policy.models.pdp.enums.PdpHealthStatus;
+import org.onap.policy.models.pdp.enums.PdpState;
 
 /**
  * Class to represent details of a running instance of PDP.
diff --git a/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpGroup.java b/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpGroup.java
index 3dc3c24..ee52d82 100644
--- a/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpGroup.java
+++ b/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpGroup.java
@@ -27,7 +27,7 @@
 import java.util.Map;
 import java.util.TreeMap;
 import org.junit.Test;
-import org.onap.policy.pdp.common.enums.PdpState;
+import org.onap.policy.models.pdp.enums.PdpState;
 
 /**
  * Test the copy constructor, as {@link TestModels} tests the other methods.
diff --git a/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpInstanceDetails.java b/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpInstanceDetails.java
index 9e48480..65fbef6 100644
--- a/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpInstanceDetails.java
+++ b/models-pap/src/test/java/org/onap/policy/models/pap/concepts/TestPdpInstanceDetails.java
@@ -24,8 +24,8 @@
 import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
-import org.onap.policy.pdp.common.enums.PdpHealthStatus;
-import org.onap.policy.pdp.common.enums.PdpState;
+import org.onap.policy.models.pdp.enums.PdpHealthStatus;
+import org.onap.policy.models.pdp.enums.PdpState;
 
 /**
  * Test the copy constructor, as {@link TestModels} tests the other methods.
