diff --git a/python/dnfdaemon/server/__init__.py b/python/dnfdaemon/server/__init__.py
index f13ab008bdab218fbe1eb499e120e8f2d104408e..f49320f96305458d468aee22eef5cb715556f288 100644
--- a/python/dnfdaemon/server/__init__.py
+++ b/python/dnfdaemon/server/__init__.py
@@ -699,12 +699,10 @@ class DnfDaemonBase(dbus.service.Object, DownloadCallback):
             result = (False, ['Transaction not found'])
         else:
             old = old[0]
-            history = dnf.history.open_history(self.base.history)
+            mobj = dnf.db.history.MergedTransactionWrapper(old)
             try:
                 # FIXME: Base.history_undo_operations is not public api
-                #print(len(history.transaction_nevra_ops(old.tid)))
-                self.base._history_undo_operations(
-                     history.transaction_nevra_ops(old.tid), old.tid)
+                self.base._history_undo_operations(mobj, old.tid)
                 #print(self.get_transaction())
             except dnf.exceptions.PackagesNotInstalledError as err:
                 result = (False, ['An operation cannot be undone : %s' %