diff --git a/src/InitialConditions.cu b/src/InitialConditions.cu
index 1f557e0a..a5b80e07 100644
--- a/src/InitialConditions.cu
+++ b/src/InitialConditions.cu
@@ -404,8 +404,8 @@ template <class T> void InitRivers(Param XParam, Forcing<float> &XForcing, Model
 		}
 
 		// Allocate XXbidir and Xridib
-		AllocateCPU(nribmax, nburmax, XModel.bndblk.Riverinfo.Xbidir);
-		AllocateCPU(nribmax, nburmax, XModel.bndblk.Riverinfo.Xridib);
+		ReallocArray(nribmax, nburmax, XModel.bndblk.Riverinfo.Xbidir);
+		ReallocArray(nribmax, nburmax, XModel.bndblk.Riverinfo.Xridib);
 
 		// Fill them with a flag value 
 		FillCPU(nribmax, nburmax, -1, XModel.bndblk.Riverinfo.Xbidir);
@@ -440,14 +440,14 @@ template <class T> void InitRivers(Param XParam, Forcing<float> &XForcing, Model
 
 					if (std::find(blocksalreadyin[iribm].block.begin(), blocksalreadyin[iribm].block.end(), uniqblockforriver[bir]) != blocksalreadyin[iribm].block.end())
 					{
-						//Found;
+						//block found already listed in that line;
 
 						continue;
 					}
 					else
 					{
 						//not found;
-
+						// write to the array
 						XModel.bndblk.Riverinfo.Xbidir[iriv[iribm] + iribm * nburmax] = uniqblockforriver[bir];
 						XModel.bndblk.Riverinfo.Xridib[iriv[iribm] + iribm * nburmax] = Rin;
 
@@ -456,7 +456,8 @@ template <class T> void InitRivers(Param XParam, Forcing<float> &XForcing, Model
 						// add it to the list 
 						blocksalreadyin[iribm].block.push_back(uniqblockforriver[bir]);
 
-						// write to the array
+						
+
 						break;
 					}
 				}
diff --git a/src/MemManagement.cu b/src/MemManagement.cu
index f6415a68..88554dc1 100755
--- a/src/MemManagement.cu
+++ b/src/MemManagement.cu
@@ -203,6 +203,9 @@ void AllocateCPU(int nblk, int blksize, Param XParam, Model<T>& XModel)
 		//this will be eventually reallocated later
 		AllocateCPU(1, 1, XModel.bndblk.river);
 		XModel.bndblk.nblkriver = 1;
+
+		AllocateCPU(1, 1, XModel.bndblk.Riverinfo.Xbidir);
+		AllocateCPU(1, 1, XModel.bndblk.Riverinfo.Xridib);
 	}
 	// preallocate 1 block along all bnds
 	//this will be eventually reallocated later