Index: trunk/t3q/src/org/etsi/t3q/visitor/QualityChecker.java
===================================================================
--- trunk/t3q/src/org/etsi/t3q/visitor/QualityChecker.java	(revision 38)
+++ trunk/t3q/src/org/etsi/t3q/visitor/QualityChecker.java	(revision 40)
@@ -1862,5 +1862,5 @@
 				subsequentLogStatementNodes.add(subsequentLogStatementNode);
 				subsequentLogStatementNode = getSubsequentLogStatement(subsequentLogStatementNode);
-			} 
+			}
 		}
 		checkLogFormat(node, logStatementText, endLine);
@@ -1871,6 +1871,5 @@
 	private LocationAST getSubsequentLogStatement(LocationAST logStatementNode) {
 		LocationAST subsequentLogStatementNode = null;
-		LocationAST nextStatement = logStatementNode.getNthParent(3)
-				.getNextSibling();
+		LocationAST nextStatement = LocationAST.resolveParentsUntilType(logStatementNode, new int[]{TTCN3ParserTokenTypes.FunctionStatement, TTCN3ParserTokenTypes.ControlStatementOrDef}).getNextSibling();
 
 		if ((nextStatement != null) && (nextStatement.getType() == TTCN3ParserTokenTypes.SemiColon)) {
@@ -1880,9 +1879,9 @@
 			if (nextStatement.getType() == TTCN3ParserTokenTypes.FunctionStatement || 
 					nextStatement.getType() == TTCN3ParserTokenTypes.ControlStatementOrDef) {
-				LocationAST thirdChild = nextStatement
-						.getNthChild(3);
-				if (thirdChild != null
-						&& thirdChild.getType() == TTCN3ParserTokenTypes.LogStatement) {
-					subsequentLogStatementNode = thirdChild;
+				LocationAST logStatement = nextStatement
+						.getNthChild(2);
+				if (logStatement != null
+						&& logStatement.getType() == TTCN3ParserTokenTypes.LogStatement) {
+					subsequentLogStatementNode = logStatement;
 				}
 			}
@@ -1905,4 +1904,9 @@
 				//TODO: attempt to perform resolution
 				logStatementText += "";
+				//TODO: consider fixing the parser, this is an ugly workaround
+				LinkedList<LocationAST> cStringNodes = ASTUtil.findTypeNodes(logItem, TTCN3ParserTokenTypes.CharStringValue);
+				for (LocationAST cStringNode : cStringNodes){
+					logStatementText+=cStringNode.getFirstChild().getText();
+				}
 			}
 			logItem = logItem.getNextSibling();
