diff --git a/src/Makefile.am b/src/Makefile.am
index 8ca30ca..ed752e1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,6 +16,8 @@ gnome_photos_built_sources = \
 	photos-dleyna-renderer-push-host.h \
 	photos-gom-miner.c \
 	photos-gom-miner.h \
+	photos-tracker-extract-priority.c \
+	photos-tracker-extract-priority.h \
 	photos-marshalers.c \
 	photos-marshalers.h \
 	photos-mpris-player.c \
@@ -250,6 +252,7 @@ EXTRA_DIST = \
 	photos-selection-menu.ui \
 	photos-gom-miner.xml \
 	photos-tracker-resources.xml \
+	photos-tracker-extract-priority.xml \
 	photos-dleyna-renderer-device.xml \
 	photos-dleyna-renderer-manager.xml \
 	photos-dleyna-renderer-push-host.xml \
diff --git a/src/photos-application.c b/src/photos-application.c
index 9ed6d88..fd87984 100644
--- a/src/photos-application.c
+++ b/src/photos-application.c
@@ -39,6 +39,7 @@
 #include "photos-dlna-renderers-dialog.h"
 #include "photos-filterable.h"
 #include "photos-gom-miner.h"
+#include "photos-tracker-extract-priority.h"
 #include "photos-item-manager.h"
 #include "photos-main-window.h"
 #include "photos-mode-controller.h"
@@ -75,6 +76,7 @@ struct _PhotosApplicationPrivate
   PhotosModeController *mode_cntrlr;
   PhotosSearchContextState *state;
   PhotosSearchProvider *search_provider;
+  TrackerExtractPriority *trackerProxy;
   guint32 activation_timestamp;
 };
 
@@ -637,6 +639,29 @@ photos_application_dbus_unregister (GApplication *application,
 
 
 static void
+photos_application_tracker_callback (GObject *source_object, GAsyncResult *res, gpointer user_data)
+{
+  PhotosApplication *self = PHOTOS_APPLICATION (user_data);
+  PhotosApplicationPrivate *priv = self->priv;
+  GError *error;
+
+  error = NULL;
+  priv->trackerProxy = tracker_extract_priority_proxy_new_for_bus_finish (res, &error);
+
+  if (error != NULL)
+    {
+      if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+        g_warning ("Unable to create proxy: %s", error->message);
+      g_error_free (error);
+      goto out;
+    }
+
+ out:
+  g_object_unref (self);
+}
+
+
+static void
 photos_application_startup (GApplication *application)
 {
   PhotosApplication *self = PHOTOS_APPLICATION (application);
@@ -683,6 +708,14 @@ photos_application_startup (GApplication *application)
                                                          NULL,
                                                          NULL);
 
+  tracker_extract_priority_proxy_new_for_bus (G_BUS_TYPE_SESSION,
+                                              G_DBUS_PROXY_FLAGS_NONE,
+                                              "org.freedesktop.Tracker1.Miner.Extract",
+                                              "/org/freedesktop/Tracker1/Extract/Priority",
+                                              NULL,
+                                              photos_application_tracker_callback,
+                                              g_object_ref (self));
+
   priv->item_mngr = photos_item_manager_dup_singleton ();
 
   /* A dummy reference to keep it alive during the lifetime of the
@@ -784,6 +817,8 @@ photos_application_constructor (GType type, guint n_construct_params, GObjectCon
 static void
 photos_application_dispose (GObject *object)
 {
+  GCancellable *cancellable = NULL;
+  GError *error = NULL;
   PhotosApplication *self = PHOTOS_APPLICATION (object);
   PhotosApplicationPrivate *priv = self->priv;
 
@@ -794,6 +829,19 @@ photos_application_dispose (GObject *object)
       priv->resource = NULL;
     }
 
+  cancellable = g_cancellable_new ();
+  g_object_set_data_full (G_OBJECT (priv->trackerProxy), "cancellable", cancellable, g_object_unref);
+  tracker_extract_priority_call_clear_rdf_types_sync (priv->trackerProxy,
+                                                      cancellable,
+                                                      &error);
+
+  if (error != NULL)
+    {
+      g_warning ("Unable to clear rdf types");
+    }
+
+  g_error_free (error);
+
   g_clear_object (&priv->settings);
   g_clear_object (&priv->fs_action);
   g_clear_object (&priv->gear_action);
@@ -822,8 +870,32 @@ photos_application_dispose (GObject *object)
 
 
 static void
+photos_application_set_rdf_types_callback (GObject *source_object, GAsyncResult *res, gpointer user_data)
+{
+  PhotosApplication *self = PHOTOS_APPLICATION (user_data);
+  GError *error;
+  TrackerExtractPriority *trackerProxy = TRACKER_EXTRACT_PRIORITY (source_object);
+
+  error = NULL;
+  if (!tracker_extract_priority_call_set_rdf_types_finish (trackerProxy, res, &error))
+    {
+      if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+        g_warning ("Unable to call finish SetRdfTypes: %s", error->message);
+      g_error_free (error);
+      goto out;
+    }
+
+ out:
+  g_object_unref (self);
+  g_object_unref (trackerProxy);
+}
+
+
+static void
 photos_application_init (PhotosApplication *self)
 {
+  GCancellable *cancellable = NULL;
+  GError *error = NULL;
   PhotosApplicationPrivate *priv;
 
   self->priv = photos_application_get_instance_private (self);
@@ -831,6 +903,21 @@ photos_application_init (PhotosApplication *self)
 
   eog_debug_init ();
 
+  cancellable = g_cancellable_new ();
+  const gchar *const arg_rdf_types[] = {"nfo:Image"};
+
+  tracker_extract_priority_call_set_rdf_types (priv->trackerProxy,
+                                               arg_rdf_types,
+                                               cancellable,
+                                               photos_application_set_rdf_types_callback,
+                                               g_object_ref (self));
+
+  if (error != NULL)
+    {
+      g_warning ("Unable to call SetRdfTypes: %s", error->message);
+      g_error_free (error);
+    }
+
   priv->search_provider = photos_search_provider_new ();
   g_signal_connect_swapped (priv->search_provider,
                             "activate-result",
@@ -843,6 +930,8 @@ photos_application_init (PhotosApplication *self)
 
   priv->state = photos_search_context_state_new (PHOTOS_SEARCH_CONTEXT (self));
   priv->activation_timestamp = GDK_CURRENT_TIME;
+
+
 }
 
 
