diff --git "a/D:\\wintemp\\TortoiseGit\\FbC66EE.tmp\\FbConnectionPoolManager-0e1e13d-left.cs" "b/C:\\smart_elite\\self compile\\NETProvider\\NETProvider\\src\\FirebirdSql.Data.FirebirdClient\\FirebirdClient\\FbConnectionPoolManager.cs"
index c559c15..36ae1bc 100644
--- "a/D:\\wintemp\\TortoiseGit\\FbC66EE.tmp\\FbConnectionPoolManager-0e1e13d-left.cs"
+++ "b/C:\\smart_elite\\self compile\\NETProvider\\NETProvider\\src\\FirebirdSql.Data.FirebirdClient\\FirebirdClient\\FbConnectionPoolManager.cs"	
@@ -136,8 +136,12 @@ namespace FirebirdSql.Data.FirebirdClient
 					var keepCount = keep.Count();
 					if (keepCount < _connectionString.MinPoolSize)
 						keep = available.Except(keep).Take(_connectionString.MinPoolSize - keepCount).ToArray();
-					var release = available.Except(keep).ToArray();
-					release.AsParallel().ForAll(x => x.Dispose());
+                    
+                    keep = keep.Where(x => x.Connection.Verify()).ToArray();
+
+                    var release = available.Except(keep).ToArray();
+                    release.AsParallel().ForAll(x => x.Dispose());
+
 					_available = new Queue<Item>(keep);
 				}
 			}
