diff --git a/src/libtomahawk/Pipeline.cpp b/src/libtomahawk/Pipeline.cpp
index 081e15d87..f747639da 100644
--- a/src/libtomahawk/Pipeline.cpp
+++ b/src/libtomahawk/Pipeline.cpp
@@ -295,7 +295,7 @@ Pipeline::reportResults( QID qid, const QList< result_ptr >& results )
         if ( r.isNull() )
             continue;
 
-        if ( r->url().startsWith( "http" ) && !r->url().startsWith( "http://localhost" ) )
+        if ( !r->checked() && ( r->url().startsWith( "http" ) && !r->url().startsWith( "http://localhost" ) ) )
             httpResults << r;
         else
             cleanResults << r;
diff --git a/src/libtomahawk/Result.cpp b/src/libtomahawk/Result.cpp
index f51d3f9a6..b3d959059 100644
--- a/src/libtomahawk/Result.cpp
+++ b/src/libtomahawk/Result.cpp
@@ -90,6 +90,7 @@ Result::Result( const QString& url )
     , m_modtime( 0 )
     , m_score( 0 )
     , m_fileId( 0 )
+    , m_checked( false )
 {
     connect( Pipeline::instance(), SIGNAL( resolverRemoved( Tomahawk::Resolver* ) ), SLOT( onResolverRemoved( Tomahawk::Resolver* ) ), Qt::QueuedConnection );
 }
diff --git a/src/libtomahawk/Result.h b/src/libtomahawk/Result.h
index 422185a8c..577e3daff 100644
--- a/src/libtomahawk/Result.h
+++ b/src/libtomahawk/Result.h
@@ -74,6 +74,12 @@ public:
 
     collection_ptr collection() const;
     QString url() const { return m_url; }
+    /**
+     * Has the given url been checked that it is accessible/valid.
+     *
+     * Results marked as true will bypass the ResultUrlChecker.
+     */
+    bool checked() const { return m_checked; }
     QString mimetype() const { return m_mimetype; }
     QString friendlySource() const;
     QString purchaseUrl() const { return m_purchaseUrl; }
@@ -92,6 +98,7 @@ public:
     void setFriendlySource( const QString& s ) { m_friendlySource = s; }
     void setPurchaseUrl( const QString& u ) { m_purchaseUrl = u; }
     void setLinkUrl( const QString& u ) { m_linkUrl = u; }
+    void setChecked( bool checked ) { m_checked = checked; }
     void setMimetype( const QString& mimetype ) { m_mimetype = mimetype; }
     void setBitrate( unsigned int bitrate ) { m_bitrate = bitrate; }
     void setSize( unsigned int size ) { m_size = size; }
@@ -133,6 +140,7 @@ private:
     QString m_mimetype;
     QString m_friendlySource;
 
+    bool m_checked;
     unsigned int m_bitrate;
     unsigned int m_size;
     unsigned int m_modtime;
diff --git a/src/libtomahawk/resolvers/JSResolver.cpp b/src/libtomahawk/resolvers/JSResolver.cpp
index d82d8e4c0..f01c64af6 100644
--- a/src/libtomahawk/resolvers/JSResolver.cpp
+++ b/src/libtomahawk/resolvers/JSResolver.cpp
@@ -760,6 +760,7 @@ JSResolver::parseResultVariantList( const QVariantList& reslist )
         rp->setPurchaseUrl( m.value( "purchaseUrl" ).toString() );
         rp->setLinkUrl( m.value( "linkUrl" ).toString() );
         rp->setScore( m.value( "score" ).toFloat() );
+        rp->setChecked( m.value( "checked" ).toBool() );
 
         //FIXME
         if ( m.contains( "year" ) )