diff --git a/packages/babel-plugin-jsx-dom-expressions/src/ssr/element.js b/packages/babel-plugin-jsx-dom-expressions/src/ssr/element.js
index 285d7b09..73f875d4 100644
--- a/packages/babel-plugin-jsx-dom-expressions/src/ssr/element.js
+++ b/packages/babel-plugin-jsx-dom-expressions/src/ssr/element.js
@@ -332,6 +332,9 @@ function transformAttributes(path, results, info) {
t.isObjectExpression(value.expression) &&
!value.expression.properties.some(p => t.isSpreadElement(p))
) {
+ if (value.expression.properties.length === 0) {
+ return;
+ }
const props = value.expression.properties.map((p, i) =>
t.callExpression(registerImportMethod(path, "ssrStyleProperty"), [
t.stringLiteral(
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/code.js b/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/code.js
index 53c4d084..d77bfee5 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/code.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/code.js
@@ -303,3 +303,5 @@ const template89 =
\ No newline at end of file
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/output.js b/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/output.js
index 10545d91..722a2a4d 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/output.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__dom_fixtures__/attributeExpressions/output.js
@@ -626,4 +626,5 @@ const template89 = _tmpl$59();
});
}
const template90 = _tmpl$4();
+const template91 = _tmpl$4();
_$delegateEvents(["click", "input"]);
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/code.js b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/code.js
index 479fe358..681832af 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/code.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/code.js
@@ -245,3 +245,8 @@ const template51 = (
/>
);
+const template52 = (
+
+);
\ No newline at end of file
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/output.js b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/output.js
index 83e48eac..6858228a 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/output.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_fixtures__/attributeExpressions/output.js
@@ -310,3 +310,4 @@ const template49 = _$ssr(_tmpl$27);
const template50 = _$ssr(_tmpl$28);
const nope = () => undefined;
const template51 = _$ssr(_tmpl$29, _$ssrStyleProperty("--bg:", _$escape(nope(), true)));
+const template52 = _$ssr(_tmpl$8);
\ No newline at end of file
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/code.js b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/code.js
index d72b62a2..a8698a8d 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/code.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/code.js
@@ -202,3 +202,5 @@ const template41 = (
);
+
+const template42 =
;
diff --git a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/output.js b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/output.js
index 0352351f..335377f9 100644
--- a/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/output.js
+++ b/packages/babel-plugin-jsx-dom-expressions/test/__ssr_hydratable_fixtures__/attributeExpressions/output.js
@@ -286,3 +286,4 @@ const template41 = _$ssr(
_$ssrAttribute("value", _$escape(Color.Red, true), false),
_$ssrAttribute("value", _$escape(Color.Blue, true), false)
);
+const template42 = _$ssr(_tmpl$8, _$ssrHydrationKey());