diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 2a9b5d7..c9a52c7 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -303,17 +303,11 @@
     }
 
     // verify the self-signed certificate, the request, and the token
-<<<<<<< HEAD
     if (!m_config.m_caPrefix.isPrefixOf(clientCert->getName()) // under ca prefix
         || !security::v2::Certificate::isValidName(clientCert->getName()) // is valid cert name
         || clientCert->getName().size() < m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET
         || clientCert->getName().size() >
                 m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET - 1 + m_config.m_maxSuffixLength) {
-=======
-    if (!m_config.m_caPrefix.isPrefixOf(clientCert->getName())             // under ca prefix
-        || !security::v2::Certificate::isValidName(clientCert->getName())  // is valid cert name
-        || clientCert->getName().size() < m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET) {
->>>>>>> apply Error Data packet in challenge status
       _LOG_ERROR("Invalid self-signed certificate name " << clientCert->getName());
       return;
     }
@@ -341,17 +335,11 @@
     }
 
     // verify the certificate
-<<<<<<< HEAD
     if (!m_config.m_caPrefix.isPrefixOf(clientCert->getName()) // under ca prefix
         || !security::v2::Certificate::isValidName(clientCert->getName()) // is valid cert name
         || clientCert->getName().size() < m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET
         || clientCert->getName().size() >
                 m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET - 1 + m_config.m_maxSuffixLength) {
-=======
-    if (!m_config.m_caPrefix.isPrefixOf(clientCert->getName())             // under ca prefix
-        || !security::v2::Certificate::isValidName(clientCert->getName())  // is valid cert name
-        || clientCert->getName().size() < m_config.m_caPrefix.size() + IS_SUBNAME_MIN_OFFSET) {
->>>>>>> apply Error Data packet in challenge status
       _LOG_ERROR("Invalid certificate name " << clientCert->getName());
       return;
     }
