diff --git a/src/org/openscience/cdk/tools/SaturationChecker.java b/src/org/openscience/cdk/tools/SaturationChecker.java
index <HASH>..<HASH> 100644
--- a/src/org/openscience/cdk/tools/SaturationChecker.java
+++ b/src/org/openscience/cdk/tools/SaturationChecker.java
@@ -370,7 +370,16 @@ public class SaturationChecker
 		int missingHydrogen = (int) (defaultAtom.getMaxBondOrderSum() -
 				container.getBondOrderSum(atom) +
 				atom.getFormalCharge());
-		if (atom.getFlag(CDKConstants.ISAROMATIC)) missingHydrogen--;
+		if (atom.getFlag(CDKConstants.ISAROMATIC)){
+      Bond[] connectedBonds=container.getConnectedBonds(atom);
+      boolean subtractOne=true;
+      for(int i=0;i<connectedBonds.length;i++){
+        if(connectedBonds[i].getOrder()==2 || connectedBonds[i].getOrder()==CDKConstants.BONDORDER_AROMATIC)
+          subtractOne=false;
+      }
+      if(subtractOne)
+        missingHydrogen--;
+    }
 		logger.debug("Atom: " + atom.getSymbol());
 		logger.debug("  max bond order: " + defaultAtom.getMaxBondOrderSum());
 		logger.debug("  bond order sum: " + container.getBondOrderSum(atom));
Corrected problems with handling aromatic atoms which have got the correct number of bonds


git-svn-id: <URL>