diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp
index 277a5041fde15e303d04792752e03c3fe6ee1875..e0c0065a632a03f8929de3ec9225d52660f51572 100644
--- a/src/plugins/bineditor/bineditorplugin.cpp
+++ b/src/plugins/bineditor/bineditorplugin.cpp
@@ -193,10 +193,12 @@ public:
     virtual QString mimeType() const { return m_mimeType; }
 
     bool save(const QString &fileName = QString()) {
-        if (m_editor->save(m_fileName, fileName)) {
-            m_fileName = fileName;
+        const QString fileNameToUse
+            = fileName.isEmpty() ? m_fileName : fileName;
+        if (m_editor->save(m_fileName, fileNameToUse)) {
+            m_fileName = fileNameToUse;
             m_editor->editorInterface()->
-                setDisplayName(QFileInfo(fileName).fileName());
+                setDisplayName(QFileInfo(fileNameToUse).fileName());
             emit changed();
             return true;
         } else {