diff --git a/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py b/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
index c634c9f5ade5caa3b101ed98d9bb9731e11e914c..8632e83b704d1df71eeaed3c1839ed3572f4bc12 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py
@@ -19,10 +19,26 @@ class RTSMObservation(models.Model):
     samples = models.IntegerField(default=None, null=True)
 
 
+class RTSMErrorSummary(models.Model):
+    rcu = models.SmallIntegerField(default=None, null=True)
+    mode = models.SmallIntegerField(default=None, null=True)
+    observation = models.ForeignKey(RTSMObservation, related_name='errors_summary', on_delete=models.CASCADE)
+
+    error_type = models.CharField(max_length=10)
+    start_frequency = models.FloatField(default=None, null=True)
+    stop_frequency = models.FloatField(default=None, null=True)
+    time = models.DateTimeField()
+
+    class Meta:
+        managed = False
+        db_table = 'monitoringdb_rtsmerror'
+
+
 class RTSMError(models.Model):
     rcu = models.SmallIntegerField(default=None, null=True)
     mode = models.SmallIntegerField(default=None, null=True)
     observation = models.ForeignKey(RTSMObservation, related_name='errors', on_delete=models.CASCADE)
+
     error_type = models.CharField(max_length=10)
     start_frequency = models.FloatField(default=None, null=True)
     stop_frequency = models.FloatField(default=None, null=True)
@@ -30,3 +46,20 @@ class RTSMError(models.Model):
     bad_spectrum = ArrayField(models.FloatField())
     average_spectrum = ArrayField(models.FloatField())
 
+    def __str__(self):
+        return self.__unicode__()
+
+    def __repr__(self):
+        return self.__unicode__()
+
+    def __unicode__(self):
+        return '%s - MODE %d, FROM %f MHz TO %f MHz RCU=(%d): %s' % (self.time,
+                                                                     self.mode,
+                                                                     self.start_frequency,
+                                                                     self.stop_frequency,
+                                                                     self.rcu,
+                                                                     self.error_type,)
+
+    class Meta:
+        managed = True
+        db_table = 'monitoringdb_rtsmerror'
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/serializers/rtsm.py b/LCU/Maintenance/DBInterface/monitoringdb/serializers/rtsm.py
index d86e41a65de7666f6499d82dce6a2ec97d2b84a0..749d9b03c20ba59b78963846655562bd4f566ad6 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/serializers/rtsm.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/serializers/rtsm.py
@@ -19,14 +19,18 @@ class RTSMErrorSerializer(serializers.ModelSerializer):
 
 class RTSMErrorSummarySerializer(serializers.ModelSerializer):
     samples = serializers.IntegerField(source='observation.samples', read_only=True)
+    start_time = serializers.DateTimeField(source='observation.start_time', read_only=True)
+    end_time = serializers.DateTimeField(source='observation.start_time', read_only=True)
+    observation_id = serializers.IntegerField(source='observation.observation_id', read_only=True)
+    id = serializers.IntegerField()
 
     class Meta:
-        model = RTSMError
-        exclude = ['average_spectrum', 'bad_spectrum']
+        model = RTSMErrorSummary
+        fields = '__all__'
 
 
 class RTSMObservationSerializer(serializers.ModelSerializer):
-    errors = RTSMErrorSummarySerializer(many=True)
+    errors_summary = RTSMErrorSummarySerializer(many=True)
 
     class Meta:
         model = RTSMObservation
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/urls.py b/LCU/Maintenance/DBInterface/monitoringdb/urls.py
index dc7315516f2d52340f3c97743ac81158fbeb8da0..cde62e231b50a19a488ba3d83a595939f05a103c 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/urls.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/urls.py
@@ -12,8 +12,8 @@ station_test_router.register(r'^', StationTestViewSet)
 
 rtsm_router = routers.DefaultRouter()
 #RTSM
-rtsm_router.register(r'^errors_detailed', RTSMErrorsDetailedViewSet)
-rtsm_router.register(r'^errors', RTSMErrorsViewSet)
+rtsm_router.register(r'^/errors_detailed', RTSMErrorsDetailedViewSet)
+rtsm_router.register(r'^/errors', RTSMErrorsViewSet)
 rtsm_router.register(r'^', RTSMObservationViewSet)
 
 
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/views/rtsm_views.py b/LCU/Maintenance/DBInterface/monitoringdb/views/rtsm_views.py
index cdeb154c254f87a12f6d0f5b9702ea68a8cada78..a5d3b02743df68b3c909102871e8d7fdaf0fe12a 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/views/rtsm_views.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/views/rtsm_views.py
@@ -5,6 +5,7 @@ from ..rtsm_test_raw_parser import parse_rtsm_test
 
 logger = logging.getLogger('views')
 
+
 class RTSMErrorsDetailedViewSet(viewsets.ModelViewSet):
     queryset = RTSMError.objects.all()
     serializer_class = RTSMErrorSerializer
@@ -23,7 +24,7 @@ class RTSMErrorsViewSet(viewsets.ModelViewSet):
     serializer_class = RTSMErrorSummarySerializer
 
     def get_queryset(self):
-        queryset = RTSMError.objects.all()
+        queryset = RTSMError.objects.defer('average_spectrum', 'bad_spectrum').all()
         for key, param in self.request.query_params.items():
             if key in RESERVED_FILTER_NAME:
                 continue
@@ -31,9 +32,8 @@ class RTSMErrorsViewSet(viewsets.ModelViewSet):
         return queryset
 
 
-
 class RTSMObservationViewSet(viewsets.ModelViewSet):
-    queryset = RTSMObservation.objects.all()
+    queryset = RTSMObservation.objects.select_related('errors').defer('errors__average_spectrum', 'errors__bad_spectrum').all()
     serializer_class = RTSMObservationSerializer
 
     def get_queryset(self):
diff --git a/LCU/Maintenance/MDB_tools/cli/probe_mdb.py b/LCU/Maintenance/MDB_tools/cli/probe_mdb.py
index 147e82cdcd9443ada9be41add0e9bf9c4a95f169..91cab9071a00669876acf241499b12c2bbe91360 100755
--- a/LCU/Maintenance/MDB_tools/cli/probe_mdb.py
+++ b/LCU/Maintenance/MDB_tools/cli/probe_mdb.py
@@ -56,7 +56,7 @@ def perform_query(query_string, address, next_url=None):
     response = requests.get(full_address)
     logging.info('response acknowledged: status code is %s', response.status_code)
     if response.status_code == 200:
-        parsed_content = json.loads(response.content)
+        parsed_content = response.json()
 
         extracted_content = parsed_content['results']
         next_url = parsed_content['next']
@@ -324,7 +324,7 @@ def print_out_rtsm_summary(rtsm_results):
                                 'component_id', 'error_type', 'start_frequency', 'stop_frequency',
                                 'mode', 'percentage']
 
-        sorted_rtsm = rtsm_sort_errors(rtsm_result['errors'])
+        sorted_rtsm = rtsm_sort_errors(rtsm_result['errors_summary'])
         rtsm_errors = Counter()
         for error in sorted_rtsm:
             rcu_id = error['rcu']
@@ -364,7 +364,7 @@ def print_out_rtsm(rtsm_results):
     for rtsm_result in rtsm_results:
         obs_id = rtsm_result['observation_id']
         station_name = rtsm_result['station_name']
-        for error in rtsm_sort_errors(rtsm_result['errors']):
+        for error in rtsm_sort_errors(rtsm_result['errors_summary']):
             rcu_id = error['rcu']
             start_frequency = error['start_frequency']
             stop_frequency = error['stop_frequency']