diff --git a/src/eog-jobs.c b/src/eog-jobs.c
index 8a21e66c..84f30400 100644
--- a/src/eog-jobs.c
+++ b/src/eog-jobs.c
@@ -545,6 +545,7 @@ void eog_job_load_dispose (GObject *object)
 
 	/* free all public and private members */
 	if (job->image) {
+		eog_image_data_unref (job->image);
 		g_object_unref (job->image);
 		job->image = NULL;
 	}
@@ -603,8 +604,10 @@ eog_job_load_new (EogImage     *image,
 
 	job = g_object_new (EOG_TYPE_JOB_LOAD, NULL);
 
-	if (image)
+	if (image) {
 		job->image = g_object_ref (image);
+		eog_image_data_ref (image);
+	}
 
 	job->data = data;
 
