diff --git a/CHANGELOG.md b/CHANGELOG.md
index e8f1125..9e6e0c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
 # 0.1.1-dev
 
 * Support formatting enums (#120).
-* Handle Windows line endings in multiline strings (#126).
\ No newline at end of file
+* Handle Windows line endings in multiline strings (#126).
+* Increase nesting for conditional operators (#122).
\ No newline at end of file
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index 0a228f7..93fc466 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -369,6 +369,7 @@
   }
 
   visitConditionalExpression(ConditionalExpression node) {
+    _writer.nestExpression();
     visit(node.condition);
     space();
 
@@ -387,6 +388,7 @@
 
     _writer.endMultisplit();
     _writer.endSpan();
+    _writer.unnest();
   }
 
   visitConstructorDeclaration(ConstructorDeclaration node) {
diff --git a/test/regression/122.unit b/test/regression/122.unit
new file mode 100644
index 0000000..b4a0794
--- /dev/null
+++ b/test/regression/122.unit
@@ -0,0 +1,26 @@
+>>>
+var xsrfValue = _urlIsSameOrigin(url) ?
+    _cookies[xsrfCookieName != null ?
+    xsrfCookieName :
+    defaults.xsrfCookieName] :
+    null;
+<<<
+var xsrfValue = _urlIsSameOrigin(url) ?
+    _cookies[xsrfCookieName != null ?
+        xsrfCookieName :
+        defaults.xsrfCookieName] :
+    null;
+>>>
+class _Streams {
+  _Streams(this._scope, this._exceptionHandler, _Streams inheritStreams)
+      : _typeCounts = inheritStreams == null ?
+      new HashMap<String, int>() :
+      new HashMap.from(inheritStreams._typeCounts);
+}
+<<<
+class _Streams {
+  _Streams(this._scope, this._exceptionHandler, _Streams inheritStreams)
+      : _typeCounts = inheritStreams == null ?
+          new HashMap<String, int>() :
+          new HashMap.from(inheritStreams._typeCounts);
+}
\ No newline at end of file
diff --git a/test/splitting/expressions.stmt b/test/splitting/expressions.stmt
index f034717..5564020 100644
--- a/test/splitting/expressions.stmt
+++ b/test/splitting/expressions.stmt
@@ -93,4 +93,14 @@
 (identifier *
     (verylongIdentifier *
         verylongIdentifier) *
-    identifier);
\ No newline at end of file
+    identifier);
+>>> conditional operands are nested
+identifier ? identifier ? someParticularlyLongOperand : someParticularlyLongOperand : identifier ? someParticularlyLongOperand : someParticularlyLongOperand;
+<<<
+identifier ?
+    identifier ?
+        someParticularlyLongOperand :
+        someParticularlyLongOperand :
+    identifier ?
+        someParticularlyLongOperand :
+        someParticularlyLongOperand;
\ No newline at end of file
