diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 270e10e857..5c764aa7e2 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -9482,6 +9482,7 @@ virDomainManagedSaveDefineXML(virDomainPtr domain, const char *dxml,
 
     virCheckDomainReturn(domain, -1);
     conn = domain->conn;
+    virCheckReadOnlyGoto(conn->flags, error);
 
     if (conn->driver->domainManagedSaveDefineXML) {
         int ret;