diff --git a/config/config.go b/config/config.go
index e029c63..b44259b 100644
--- a/config/config.go
+++ b/config/config.go
@@ -64,8 +64,8 @@
 		}
 
 		// Try to unmarshal as new format first (object with optional sdk/server and lists)
-		if err := yaml.Unmarshal(data, &globalConfig); err == nil && len(globalConfig.Lists) > 0 {
-			// Successfully parsed as new format with lists field
+		if err := yaml.Unmarshal(data, &globalConfig); err == nil {
+			// Successfully parsed as new format - accept it regardless of whether it has lists
 			for _, list := range globalConfig.Lists {
 				if seenIDs[list.ID] {
 					return nil, fmt.Errorf("duplicate mapping list ID found: %s", list.ID)
diff --git a/config/config_test.go b/config/config_test.go
index a3f1d0c..329712c 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -200,7 +200,7 @@
 id: test
 mappings:
   - "[A] <> [B]"`,
-			wantErr: "cannot unmarshal",
+			wantErr: "no mapping lists found",
 		},
 		{
 			name: "Missing required fields",
@@ -797,3 +797,52 @@
 	require.Error(t, err)
 	assert.Contains(t, err.Error(), "duplicate mapping list ID found: duplicate-id")
 }
+
+func TestLoadFromSourcesConfigWithOnlyPort(t *testing.T) {
+	// Create config file with only port (no lists)
+	configContent := `
+port: 8080
+loglevel: debug
+`
+	configFile, err := os.CreateTemp("", "config-*.yaml")
+	require.NoError(t, err)
+	defer os.Remove(configFile.Name())
+
+	_, err = configFile.WriteString(configContent)
+	require.NoError(t, err)
+	err = configFile.Close()
+	require.NoError(t, err)
+
+	// Create mapping file
+	mappingContent := `
+id: test-mapper
+mappings:
+  - "[A] <> [B]"
+`
+	mappingFile, err := os.CreateTemp("", "mapping-*.yaml")
+	require.NoError(t, err)
+	defer os.Remove(mappingFile.Name())
+
+	_, err = mappingFile.WriteString(mappingContent)
+	require.NoError(t, err)
+	err = mappingFile.Close()
+	require.NoError(t, err)
+
+	// This should work: config file has only port, mapping file provides the mapping list
+	config, err := LoadFromSources(configFile.Name(), []string{mappingFile.Name()})
+	require.NoError(t, err)
+	require.NotNil(t, config)
+
+	// Check that port and log level from config file are preserved
+	assert.Equal(t, 8080, config.Port)
+	assert.Equal(t, "debug", config.LogLevel)
+
+	// Check that mapping from mapping file is loaded
+	require.Len(t, config.Lists, 1)
+	assert.Equal(t, "test-mapper", config.Lists[0].ID)
+
+	// Check that defaults are applied for other fields
+	assert.Equal(t, defaultSDK, config.SDK)
+	assert.Equal(t, defaultServer, config.Server)
+	assert.Equal(t, defaultServiceURL, config.ServiceURL)
+}
