diff --git a/.changes/unreleased/Fixed-20250127-141003.yaml b/.changes/unreleased/Fixed-20250127-141003.yaml
new file mode 100644
index 00000000..aa6c20f7
--- /dev/null
+++ b/.changes/unreleased/Fixed-20250127-141003.yaml
@@ -0,0 +1,3 @@
+kind: Fixed
+body: panic when create object with .spec.pause is true
+time: 2025-01-27T14:10:03.497565+08:00
diff --git a/internal/controllers/database/sync.go b/internal/controllers/database/sync.go
index 6255d521..0ad5e9ad 100644
--- a/internal/controllers/database/sync.go
+++ b/internal/controllers/database/sync.go
@@ -359,8 +359,8 @@ func (r *Reconciler) waitForStatefulSetToScale(
 
 func shouldIgnoreDatabaseChange(database *resources.DatabaseBuilder) resources.IgnoreChangesFunction {
 	return func(oldObj, newObj runtime.Object) bool {
-		if _, ok := newObj.(*appsv1.StatefulSet); ok {
-			if database.Spec.Pause && *oldObj.(*appsv1.StatefulSet).Spec.Replicas == 0 {
+		if statefulSet, ok := oldObj.(*appsv1.StatefulSet); ok {
+			if database.Spec.Pause && *statefulSet.Spec.Replicas == 0 {
 				return true
 			}
 		}
diff --git a/internal/controllers/storage/sync.go b/internal/controllers/storage/sync.go
index ebf833ec..55cde3ce 100644
--- a/internal/controllers/storage/sync.go
+++ b/internal/controllers/storage/sync.go
@@ -292,8 +292,8 @@ func (r *Reconciler) waitForNodeSetsToProvisioned(
 
 func shouldIgnoreStorageChange(storage *resources.StorageClusterBuilder) resources.IgnoreChangesFunction {
 	return func(oldObj, newObj runtime.Object) bool {
-		if _, ok := newObj.(*appsv1.StatefulSet); ok {
-			if storage.Spec.Pause && *oldObj.(*appsv1.StatefulSet).Spec.Replicas == 0 {
+		if statefulSet, ok := oldObj.(*appsv1.StatefulSet); ok {
+			if storage.Spec.Pause && *statefulSet.Spec.Replicas == 0 {
 				return true
 			}
 		}