diff --git a/src/main/java/org/opennars/lab/metric/MetricReporter.java b/src/main/java/org/opennars/lab/metric/MetricReporter.java
index 6cc4b3b075a75b306060ade580ac4b2f2c07fed8..45531643fa9caab2a5efbe2a41efafbf5e831e03 100644
--- a/src/main/java/org/opennars/lab/metric/MetricReporter.java
+++ b/src/main/java/org/opennars/lab/metric/MetricReporter.java
@@ -21,7 +21,11 @@ public class MetricReporter {
 
     public void sendFromAllSensors() {
         for(final MetricSensor iSensor : sensors) {
-            send(iSensor.getValueAsString(), iSensor.getName());
+            String valueAsString = iSensor.getValueAsString();
+
+            if (valueAsString != null) {
+                send(valueAsString, iSensor.getName());
+            }
         }
 
         for(final MetricSensor iSensor : sensors) {
diff --git a/src/main/java/org/opennars/lab/microworld/Pong.java b/src/main/java/org/opennars/lab/microworld/Pong.java
index 3d1e55258a6b0ec99bbffa7e6a5ce4e0917fc536..6f0360477ab219741cc81c869322517494a326f3 100755
--- a/src/main/java/org/opennars/lab/microworld/Pong.java
+++ b/src/main/java/org/opennars/lab/microworld/Pong.java
@@ -70,6 +70,10 @@ public class Pong extends Frame {
 
             @Override
             public String getValueAsString() {
+                if (oldBallHits == ballHits) {
+                    return null; // don't send anything
+                }
+
                 return "" + (ballHits-oldBallHits);
             }
 
@@ -89,6 +93,10 @@ public class Pong extends Frame {
 
             @Override
             public String getValueAsString() {
+                if (oldBallMisses == ballMisses) {
+                    return null; // don't send anything
+                }
+
                 return "" + (ballMisses-oldBallMisses);
             }
 
@@ -299,10 +307,8 @@ public class Pong extends Frame {
 
                 t++;
                 nar.cycles(10);
+                metricReporter.sendFromAllSensors();
 
-                if (t%100==0) {
-                    metricReporter.sendFromAllSensors();
-                }
 
                 if(lastAction==0 && random(1.0f) < Alpha) { //if Nar hasn't decided chose a executable random action
                     lastAction = (int) random((float) nActions);