diff --git a/lib/src/equatable_utils.dart b/lib/src/equatable_utils.dart
index 0a8afc7..c4f2268 100644
--- a/lib/src/equatable_utils.dart
+++ b/lib/src/equatable_utils.dart
@@ -64,4 +64,4 @@
 
 /// Returns a string for [props].
 String mapPropsToString(Type runtimeType, List<Object> props) =>
-    '$runtimeType${props?.map((prop) => prop.toString()) ?? '()'}';
+    '$runtimeType(${props?.map((prop) => prop.toString())?.join(', ') ?? ""})';
diff --git a/test/equatable_test.dart b/test/equatable_test.dart
index 3c5e17a..76c7b7d 100644
--- a/test/equatable_test.dart
+++ b/test/equatable_test.dart
@@ -108,6 +108,23 @@
   bool get stringify => true;
 }
 
+class SuperLongPropertiesStringify extends Equatable {
+  SuperLongPropertiesStringify(this.a, this.b, this.c, this.d, this.e, this.f);
+
+  final String a;
+  final String b;
+  final String c;
+  final String d;
+  final String e;
+  final String f;
+
+  @override
+  List<Object> get props => [a, b, c, d, e, f];
+
+  @override
+  bool get stringify => true;
+}
+
 class ExplicitStringifyFalse extends Equatable {
   ExplicitStringifyFalse({this.name, this.age, this.hairColor});
 
@@ -808,6 +825,23 @@
       expect(instanceC.toString(), 'ComplexStringify(Joe, 50, Color.blonde)');
     });
 
+    test('with SuperLongProperties stringify', () {
+      final instance = SuperLongPropertiesStringify(
+        'aaaaaaaaaaaaaaa',
+        'aaaaaaaaaaaaaaa',
+        'aaaaaaaaaaaaaaa',
+        'aaaaaaaaaaaaaaa',
+        'aaaaaaaaaaaaaaa',
+        'aaaaaaaaaaaaaaa',
+      );
+      expect(
+        instance.toString(),
+        'SuperLongPropertiesStringify(aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, '
+        'aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, '
+        'aaaaaaaaaaaaaaa)',
+      );
+    });
+
     test('with ExplicitStringifyFalse stringify', () {
       final instanceA = ExplicitStringifyFalse();
       final instanceB =
