diff --git a/gck-rpc-daemon-standalone.c b/gck-rpc-daemon-standalone.c
index ae10932b2b5a2817ae2b916b5f23b5c53cecba52..9b89f50c46bd8809553b4271e061f838bc4907be 100644
--- a/gck-rpc-daemon-standalone.c
+++ b/gck-rpc-daemon-standalone.c
@@ -170,6 +170,7 @@ int main(int argc, char *argv[])
 	fd_set read_fds;
 	int sock, ret;
 	CK_RV rv;
+	CK_C_INITIALIZE_ARGS init_args;
 
 
         if (install_syscall_reporter())
@@ -212,7 +213,10 @@ int main(int argc, char *argv[])
 	}
 
 	/* RPC layer expects initialized module */
-	rv = (funcs->C_Initialize) (NULL /* &p11_init_args */);
+	memset(&init_args, 0, sizeof(init_args));
+	init_args.flags = CKF_OS_LOCKING_OK;
+
+	rv = (funcs->C_Initialize) (&init_args);
 	if (rv != CKR_OK) {
 		fprintf(stderr, "couldn't initialize module: %s: 0x%08x\n",
 			argv[1], (int)rv);