| 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 01810870423cb8abcecb5aba852aa8e27b431683..fd6dbdd83d93c9859603998d2f8f767ea050c40d 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 | 
| @@ -354,7 +354,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; | 
| @@ -369,8 +369,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; | 
| } | 
|  | 
| @@ -416,7 +417,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. | 
|  |