diff --git a/src/lib/vm-listener-hoc.jsx b/src/lib/vm-listener-hoc.jsx
index 8c80ae5d9694711a50a3974aa2704883d57de76e..265b3cfb824d9c757446adc3902800292e536a92 100644
--- a/src/lib/vm-listener-hoc.jsx
+++ b/src/lib/vm-listener-hoc.jsx
@@ -8,6 +8,7 @@ const Storage = require('./storage');
 const {connect} = require('react-redux');
 
 const targets = require('../reducers/targets');
+const monitors = require('../reducers/monitors');
 
 /*
  * Higher Order Component to manage events emitted by the VM
@@ -30,6 +31,7 @@ const vmListenerHOC = function (WrappedComponent) {
             // we need to start listening before mounting the wrapped component.
             this.props.vm.on('targetsUpdate', this.props.onTargetsUpdate);
             this.props.vm.on('SPRITE_INFO_REPORT', this.props.onSpriteInfoReport);
+            this.props.vm.on('MONITORS_UPDATE', this.props.onMonitorsUpdate);
         }
         componentDidMount () {
             if (this.props.attachKeyboardEvents) {
@@ -77,6 +79,7 @@ const vmListenerHOC = function (WrappedComponent) {
                 onKeyDown,
                 onKeyUp,
                 onSpriteInfoReport,
+                onMonitorsUpdate,
                 onTargetsUpdate,
                 /* eslint-enable no-unused-vars */
                 ...props
@@ -88,6 +91,7 @@ const vmListenerHOC = function (WrappedComponent) {
         attachKeyboardEvents: PropTypes.bool,
         onKeyDown: PropTypes.func,
         onKeyUp: PropTypes.func,
+        onMonitorsUpdate: PropTypes.func,
         onSpriteInfoReport: PropTypes.func,
         onTargetsUpdate: PropTypes.func,
         vm: PropTypes.instanceOf(VM).isRequired
@@ -106,6 +110,9 @@ const vmListenerHOC = function (WrappedComponent) {
         },
         onSpriteInfoReport: spriteInfo => {
             dispatch(targets.updateTarget(spriteInfo));
+        },
+        onMonitorsUpdate: monitorList => {
+            dispatch(monitors.updateMonitors(monitorList));
         }
     });
     return connect(