diff --git a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConfig.java b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConfig.java
index 33cb860..c449cab 100644
--- a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConfig.java
+++ b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConfig.java
@@ -51,6 +51,7 @@
     private final Logger log = getLogger(getClass());
 
     private DeviceId deviceId;
+    private static final String ALARM_TYPE_LOS = "port-power-alarm";
 
     @Override
     public boolean configureDevice(IpAddress address, int port, String protocol) {
@@ -74,12 +75,12 @@
                         while (descriptionNode != null) {
                             if (descriptionNode.getNodeType() == Node.ELEMENT_NODE) {
                                 String nodeName = descriptionNode.getNodeName();
-                                if (nodeName == "port-power-alarm") {
+                                if (nodeName.equals(ALARM_TYPE_LOS)) {
                                     Node portIdNode = descriptionNode.getChildNodes().item(1);
                                     String portId = portIdNode.getTextContent();
                                     String description = "Loss of Service alarm raised for fibre " + portId;
                                     alarms.add(new DefaultAlarm.Builder(AlarmId.alarmId(deviceId,
-                                                Long.toString(timeStamp)), deviceId, description,
+                                                description), deviceId, description,
                                                 Alarm.SeverityLevel.MAJOR, timeStamp).build());
                                     descriptionNode = null;
                                 }
diff --git a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
index 2b56be2..ea31538 100644
--- a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
+++ b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
@@ -108,7 +108,7 @@
         }
         long timeRaised = getTimeRaised(cfg);
         DefaultAlarm.Builder alarmBuilder = new DefaultAlarm.Builder(
-                AlarmId.alarmId(deviceId, Long.toString(timeRaised)),
+                AlarmId.alarmId(deviceId, alarmMessage),
                 deviceId, alarmMessage, alarmLevel, timeRaised);
         return alarmBuilder.build();
     }
