diff --git a/CHANGELOG.md b/CHANGELOG.md
index b720884..28a7dd8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@
 * Allow splitting before `get` and `set` (#462).
 * Add `--indent` to specify leading indent (#464).
 * Ensure collection elements line split separately (#474).
+* Allow redirecting constructors to wrap (#475).
 * Handle index expressions in the middle of call chains.
 * Optimize splitting lines with many rules.
 
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index 1cdd0be..0da60dd 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -538,10 +538,15 @@
     // ":" if the parameters and initialization list don't all fit on one line.
     builder.startRule();
 
+    // If the redirecting constructor happens to wrap, we want to make sure
+    // the parameter list gets more deeply indented.
+    if (node.redirectedConstructor != null) builder.nestExpression();
+
     _visitBody(node.parameters, node.body, () {
       // Check for redirects or initializer lists.
       if (node.redirectedConstructor != null) {
         _visitConstructorRedirects(node);
+        builder.unnest();
       } else if (node.initializers.isNotEmpty) {
         _visitConstructorInitializers(node);
       }
@@ -549,7 +554,8 @@
   }
 
   void _visitConstructorRedirects(ConstructorDeclaration node) {
-    token(node.separator /* = */, before: space, after: space);
+    token(node.separator /* = */, before: space);
+    soloSplit();
     visitCommaSeparatedNodes(node.initializers);
     visit(node.redirectedConstructor);
   }
diff --git a/test/regression/0400/0475.unit b/test/regression/0400/0475.unit
new file mode 100644
index 0000000..0240a3d
--- /dev/null
+++ b/test/regression/0400/0475.unit
@@ -0,0 +1,12 @@
+>>>
+class ListResultDescriptor {
+  factory ListResultDescriptor(String name, List<E> defaultValue,
+      {ResultCachingPolicy<
+          List<E>> cachingPolicy}) = ListResultDescriptorImpl<E>;
+}
+<<<
+class ListResultDescriptor {
+  factory ListResultDescriptor(String name, List<E> defaultValue,
+          {ResultCachingPolicy<List<E>> cachingPolicy}) =
+      ListResultDescriptorImpl<E>;
+}
\ No newline at end of file
