| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java | 
| index 3b3f9c51059c9714ebe07b99d8fec69172299b7c..4a3be792866f6bff0f4d9214e87a8138ea7f475e 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java | 
| @@ -356,7 +356,7 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi | 
| mArticle.setThumbnailBitmap(null); | 
| Bitmap thumbnail = mThumbnailProvider.getThumbnail(mImageCallback); | 
| if (thumbnail == null || thumbnail.isRecycled()) return; | 
| -            mArticle.setThumbnailBitmap(thumbnail); | 
| +            mArticle.setThumbnailBitmap(mUiDelegate.getReferencePool().put(thumbnail)); | 
| setThumbnailFromBitmap(thumbnail); | 
|  | 
| return; | 
| @@ -371,8 +371,9 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi | 
|  | 
| // mThumbnailView's visibility is modified in updateLayout(). | 
| if (mThumbnailView.getVisibility() != View.VISIBLE) return; | 
| -        if (mArticle.getThumbnailBitmap() != null && !mArticle.getThumbnailBitmap().isRecycled()) { | 
| -            setThumbnailFromBitmap(mArticle.getThumbnailBitmap()); | 
| +        Bitmap thumbnail = mArticle.getThumbnailBitmap(); | 
| +        if (thumbnail != null && !thumbnail.isRecycled()) { | 
| +            setThumbnailFromBitmap(thumbnail); | 
| return; | 
| } | 
|  | 
| @@ -418,7 +419,7 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi | 
| thumbnail, targetSize, targetSize, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); | 
|  | 
| // Store the bitmap to skip the download task next time we display this snippet. | 
| -        snippet.setThumbnailBitmap(scaledThumbnail); | 
| +        snippet.setThumbnailBitmap(mUiDelegate.getReferencePool().put(scaledThumbnail)); | 
|  | 
| // Cross-fade between the placeholder and the thumbnail. We cross-fade because the incoming | 
| // image may have transparency and we don't want the previous image showing up behind. | 
|  |