diff --git a/src/semantic_tree/semantic_processor.js b/src/semantic_tree/semantic_processor.js
index <HASH>..<HASH> 100644
--- a/src/semantic_tree/semantic_processor.js
+++ b/src/semantic_tree/semantic_processor.js
@@ -906,6 +906,9 @@ sre.SemanticProcessor.prototype.getPunctuationInRow_ = function(nodes) {
   // similar to an mrow. The only exception are ellipses, which we assume to be
   // in lieu of identifiers.
   // In addition we keep the single punctuation nodes as content.
+  if (nodes.length <= 1) {
+    return nodes;
+  }
   var partition = sre.SemanticProcessor.partitionNodes_(
       nodes, function(x) {
         return sre.SemanticPred.isPunctuation(x) &&
Adds a special case to avoid single punctuation elements being turned into
trivial punctuated elements. Fixes issue #<I>.