diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 733ac8e2707b8af3023e4f7f80724c4a2756100f..1a563cf69c5f036ae3525a1d9990408330d9c112 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -11117,6 +11117,7 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
     virResetLastError();
 
     virCheckConnectReturn(conn, NULL);
+    virCheckReadOnlyGoto(conn->flags, error);
 
     if (conn->driver->connectGetDomainCapabilities) {
         char *ret;