diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp
index 3f4b2eb175bc52f54eb42073824b41f2420abaf8..9d2ff4c0e77a2ac5c8880a2cd2350e7f02f6ee61 100644
--- a/src/core/clipboard_qt.cpp
+++ b/src/core/clipboard_qt.cpp
@@ -294,7 +294,7 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s
     const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
     if (!mimeData)
         return;
-    if (mimeData->hasImage())
+    if (mimeData->hasImage() && !mimeData->formats().contains(QStringLiteral("image/png")))
         types->push_back(toString16(QStringLiteral("image/png")));
     Q_FOREACH (const QString &mimeType, mimeData->formats())
         types->push_back(toString16(mimeType));