diff --git a/beat/web/plotters/views.py b/beat/web/plotters/views.py
index 1785830938ffcf04d7e58ebd43647c250e4c5479..415e335a5ed4326568c08ac2e001c3dcd82d55f0 100644
--- a/beat/web/plotters/views.py
+++ b/beat/web/plotters/views.py
@@ -39,7 +39,7 @@ from django.http import HttpResponse, HttpResponseForbidden, HttpResponseBadRequ
 from django.conf import settings
 from django.shortcuts import get_object_or_404
 
-from ..experiments.models import Experiment, Result
+from ..experiments.models import Experiment, Block, Result
 from ..dataformats.models import DataFormat
 from ..reports.models import Report
 
@@ -204,23 +204,22 @@ def plot(request):
     for k, v in experiments.items():
         if v['analyzer'].find('/') >= 0:
             (analyzer_author, analyzer_name, analyzer_version) = v['analyzer'].split('/')
-
-            result = get_object_or_404(
-                    Result,
-                    name=v['output'],
-                    block__algorithm__author__username=analyzer_author,
-                    block__algorithm__name=analyzer_name,
-                    block__algorithm__version=int(analyzer_version),
-                    block__analyzer=True,
-                    block__experiment=v['obj'],
-            )
+            xp = v['obj']
+            block = get_object_or_404(Block,
+                experiment=v['obj'],
+                algorithm__author__username=analyzer_author,
+                algorithm__name=analyzer_name,
+                algorithm__version=analyzer_version,
+                )
         else:
-            result = get_object_or_404(
-                    Result,
-                    name=v['output'],
-                    block__name=v['analyzer'],
-                    block__analyzer=True,
-                    block__experiment=v['obj'],
+            block = get_object_or_404(Block,
+                experiment=v['obj'],
+                name=v['analyzer'],
+                )
+
+        result = get_object_or_404(Result,
+            cache=block.outputs.get(),
+            name=v['output'],
             )
 
         # now decide if the chart is compatible