diff --git a/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue b/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
index 050fa5cba2d926aa17d775a39b122c95791fae70..7c70fd7ebd44b24ef4647e488658e42cc1a12aeb 100644
--- a/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
@@ -44,9 +44,19 @@ const navParameterGroups = computed<ParameterGroup[]>(() => {
   return groups;
 });
 
-const parameterGroups = computed<Record<string, never>>(
-  () => props.schema["definitions"],
-);
+const parameterGroups = computed<Record<string, never>>(() => {
+  if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
+    return {
+      ...props.schema?.["definitions"],
+      ungrouped_parameters: {
+        title: "Ungrouped Parameters",
+        properties: props.schema?.["properties"],
+        type: "object",
+      },
+    };
+  }
+  return props.schema?.["definitions"];
+});
 </script>
 
 <template>
diff --git a/src/components/parameter-schema/ParameterSchemaFormComponent.vue b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
index 4048dacc6c9dd8031c6ffeab933946c22fac5454..b7947f789f6001bd9501d5da8fdec4b83026938a 100644
--- a/src/components/parameter-schema/ParameterSchemaFormComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
@@ -104,9 +104,19 @@ const formState = reactive<{
 
 // Computed Properties
 // =============================================================================
-const parameterGroups = computed<Record<string, never>>(
-  () => props.schema?.["definitions"],
-);
+const parameterGroups = computed<Record<string, never>>(() => {
+  if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
+    return {
+      ...props.schema?.["definitions"],
+      ungrouped_parameters: {
+        title: "Ungrouped Parameters",
+        properties: props.schema?.["properties"],
+        type: "object",
+      },
+    };
+  }
+  return props.schema?.["definitions"];
+});
 
 // Create a list with the names of all parameter groups
 const navParameterGroups = computed<ParameterGroup[]>(() => {
@@ -159,18 +169,19 @@ watch(
 /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unused-vars */
 function updateSchema(schema: Record<string, any>) {
   validateSchema = schemaCompiler.compile(schema);
-  const b = Object.keys(schema["definitions"]).map((groupName) =>
-    Object.fromEntries(
-      Object.entries(schema["definitions"][groupName]["properties"]).map(
-        ([parameterName, parameter]) => [
-          parameterName,
-          // @ts-ignore
-          parameter["default"],
-        ],
+  const groupedParameters = Object.keys(parameterGroups.value).map(
+    (groupName) =>
+      Object.fromEntries(
+        Object.entries(parameterGroups.value[groupName]["properties"]).map(
+          ([parameterName, parameter]) => [
+            parameterName,
+            // @ts-ignore
+            parameter["default"],
+          ],
+        ),
       ),
-    ),
   );
-  formState.formInput = b.reduce((acc, val) => {
+  formState.formInput = groupedParameters.reduce((acc, val) => {
     return { ...acc, ...val };
   });
   loadParameters(executionRepository.popTemporaryParameters());