--- src/istgt.c.orig	2012-11-12 11:44:24.000000000 -0700
+++ src/istgt.c	2017-09-04 17:48:07.000000000 -0600
@@ -1562,16 +1562,6 @@ istgt_init(ISTGT_Ptr istgt)
 		ISTGT_ERRLOG("istgt_build_uctl_portal() failed\n");
 		return -1;
 	}
-	rc = istgt_build_portal_group_array(istgt);
-	if (rc < 0) {
-		ISTGT_ERRLOG("istgt_build_portal_array() failed\n");
-		return -1;
-	}
-	rc = istgt_build_initiator_group_array(istgt);
-	if (rc < 0) {
-		ISTGT_ERRLOG("build_initiator_group_array() failed\n");
-		return -1;
-	}
 
 	rc = pthread_attr_init(&istgt->attr);
 	if (rc != 0) {
@@ -1629,6 +1619,17 @@ istgt_init(ISTGT_Ptr istgt)
 		return -1;
 	}
 
+	rc = istgt_build_portal_group_array(istgt);
+	if (rc < 0) {
+		ISTGT_ERRLOG("istgt_build_portal_array() failed\n");
+		return -1;
+	}
+	rc = istgt_build_initiator_group_array(istgt);
+	if (rc < 0) {
+		ISTGT_ERRLOG("build_initiator_group_array() failed\n");
+		return -1;
+	}
+
 	rc = pipe(istgt->sig_pipe);
 	if (rc != 0) {
 		ISTGT_ERRLOG("pipe() failed\n");
