diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php
index 405563343..db7f510c6 100644
--- a/cake/libs/model/model.php
+++ b/cake/libs/model/model.php
@@ -1080,7 +1080,7 @@ class Model extends Overloadable {
 			} else {
 				foreach ($this->_tableInfo->value as $key => $value) {
 					if(in_array($this->primaryKey, $value)) {
-						if($this->_tableInfo->value[$key]['type'] === 'string' && $this->_tableInfo->value[$key]['length'] === 36) {
+						if (empty($this->data[$this->name][$this->primaryKey]) && $this->_tableInfo->value[$key]['type'] === 'string' && $this->_tableInfo->value[$key]['length'] === 36) {
 							$fields[] = $this->primaryKey;
 							$values[] = String::uuid();
 						}