What is wrong with this CREAT TABLE with FOREIGN KEY?

I tried to create the following table with the ERROR 1005 returned
CREATE TABLE goal_measure_type
(
goal_measure_type_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (goal_measure_type_id),
name VARCHAR(60) NOT NULL,
description VARCHAR(200),
success_factor FLOAT,
task_measure_id INT,
FOREIGN KEY (task_measure_id) REFERENCES task_measure_type (task_measure_type_id)
)ENGINE = InnoDB;

I already have the task_measure_type table defined as:
CREATE TABLE task_measure_type
(
task_measure_type_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (task_measure_type_id),
name VARCHAR(60) NOT NULL,
description VARCHAR(200),
success_factor FLOAT
)ENGINE = InnoDB;

Your primary key field in the task_measure_type is an UNSIGNED INT, but the foreign key field in your goal_measure_type table is a (signed) INT.

the foreign key must exactly match the datatype of the primary key it references

in the task_measure_type table, the primary key column task_measure_type_id is defined with INTEGER UNSIGNED

however, in the goal_measure_type table, the foreign key column task_measure_id is defined with INTEGER