diff --git a/VERSION b/VERSION
index e75da3e..c2417c3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.3.6
+2.3.7-dev
diff --git a/pyvoltha/adapters/extensions/events/kpi/adapter_pm_metrics.py b/pyvoltha/adapters/extensions/events/kpi/adapter_pm_metrics.py
index 9f41f90..34cff6e 100644
--- a/pyvoltha/adapters/extensions/events/kpi/adapter_pm_metrics.py
+++ b/pyvoltha/adapters/extensions/events/kpi/adapter_pm_metrics.py
@@ -82,7 +82,7 @@
 
         :param callback: (callable) Function to call to collect PM data
         """
-        self.log.info("starting-pm-collection", device_name=self.name)
+        self.log.info("starting-pm-collection", device_name=self.name, default_freq=self.default_freq)
         if callback is None:
             callback = self.collect_and_publish_metrics
 
diff --git a/pyvoltha/adapters/extensions/events/kpi/onu/onu_omci_pm.py b/pyvoltha/adapters/extensions/events/kpi/onu/onu_omci_pm.py
index 11f45cd..b95dae3 100644
--- a/pyvoltha/adapters/extensions/events/kpi/onu/onu_omci_pm.py
+++ b/pyvoltha/adapters/extensions/events/kpi/onu/onu_omci_pm.py
@@ -112,6 +112,8 @@
         self.openomci_interval_pm = OnuPmIntervalMetrics(event_mgr, core_proxy, device_id, logical_device_id,
                                                          serial_number)
 
+        self.last_collect_optical_metrics = None
+
     def update(self, pm_config):
         # TODO: Test frequency override capability for a particular group
         if self.default_freq != pm_config.default_freq:
@@ -221,6 +223,15 @@
         if now is None or not self.pm_group_metrics[group_name].enabled:
             return []
 
+        # Because several different metrics are collected by this class,
+        # and the collection interval may be more often than the group interval,
+        # check and make sure these metrics are actually due at this time.
+        if self.last_collect_optical_metrics:
+            elapsed_tenths = (now-self.last_collect_optical_metrics)*10
+            if elapsed_tenths < self.pm_group_metrics[group_name].group_freq:
+                self.log.info("collect-optical-metrics-not-time-yet", elapsed_tenths=elapsed_tenths)
+                return []
+
         # Scan all ANI-G ports
         ani_g_entities = self._omci_onu_device.configuration.ani_g_entities
         ani_g_entities_ids = list(ani_g_entities.keys()) if ani_g_entities is not None else None
@@ -254,6 +265,8 @@
                                                     metrics=metrics)
                     metrics_info.append(metric_data)
 
+        self.last_collect_optical_metrics = now
+
         return metrics_info
 
     def collect_uni_status_metrics(self):
diff --git a/pyvoltha/adapters/extensions/omci/tasks/omci_test_request.py b/pyvoltha/adapters/extensions/omci/tasks/omci_test_request.py
index 8176bc4..a7020ee 100644
--- a/pyvoltha/adapters/extensions/omci/tasks/omci_test_request.py
+++ b/pyvoltha/adapters/extensions/omci/tasks/omci_test_request.py
@@ -134,7 +134,7 @@
 
                 :param callback: (callable) Function to call to collect PM data
         """
-        self.log.info("starting-pm-collection", device_name=self.name)
+        self.log.info("starting-pm-collection", device_name=self.name, default_freq=self.default_freq)
         if callback is None:
             callback = self.perform_test_omci
 
